1.前提・実現したいこと
・flaskアプリをApache HTTP Serverで動作させたい
・ひとまずHelloWorldを表示させるところまでを実現したい
以下の記事などを参考にしています
https://qiita.com/TakenoriHirao/items/e28624a62be2ff685123
2.発生している問題・エラーメッセージ
Apacheやmod_wsgiは問題なく実装できています。
httpd.confへ必要な記載をするとerror.logに以下のエラーが出てサーバーが起動できません
pythonのパスが通っていないようですが、対応策がわかりません
error.log
1[Sat May 14 14:25:49.841298 2022] [mpm_winnt:notice] [pid 20312:tid 316] AH00455: Apache/2.4.53 (Win64) mod_wsgi/4.9.0 Python/3.10 configured -- resuming normal operations 2[Sat May 14 14:25:49.841298 2022] [mpm_winnt:notice] [pid 20312:tid 316] AH00456: Apache Lounge VS16 Server built: Mar 16 2022 11:26:15 3[Sat May 14 14:25:49.841298 2022] [core:notice] [pid 20312:tid 316] AH00094: Command line: 'c:\\Apache24\\bin\\httpd.exe -d C:/Apache24' 4[Sat May 14 14:25:49.841298 2022] [mpm_winnt:notice] [pid 20312:tid 316] AH00418: Parent: Created child process 14400 5Python path configuration: 6 PYTHONHOME = (not set) 7 PYTHONPATH = (not set) 8 program name = 'python' 9 isolated = 0 10 environment = 1 11 user site = 1 12 import site = 1 13 sys._base_executable = 'C:\\Apache24\\bin\\httpd.exe' 14 sys.base_prefix = 'C:\\Users\\AppData\\Local\\Programs\\Python\\Python310' 15 sys.base_exec_prefix = 'C:\\Users\\AppData\\Local\\Programs\\Python\\Python310' 16 sys.platlibdir = 'lib' 17 sys.executable = 'C:\\Apache24\\bin\\httpd.exe' 18 sys.prefix = 'C:\\Users\\AppData\\Local\\Programs\\Python\\Python310' 19 sys.exec_prefix = 'C:\\Users\\AppData\\Local\\Programs\\Python\\Python310' 20 sys.path = [ 21 'C:\\Users\\AppData\\Local\\Programs\\Python\\Python310\\python310.zip', 22 '.\\DLLs', 23 '.\\lib', 24 'C:\\Apache24\\bin', 25 ] 26Fatal Python error: init_fs_encoding: failed to get the Python codec of the filesystem encoding 27Python runtime state: core initialized 28ModuleNotFoundError: No module named 'encodings' 29 30Current thread 0x000060b0 (most recent call first): 31 <no Python frame> 32[Sat May 14 14:25:50.293495 2022] [mpm_winnt:crit] [pid 20312:tid 316] AH00419: master_main: create child process failed. Exiting. 33
3.該当のソースコード
application.wsgi
1import sys 2sys.path.insert(0, 'C:/Apache24/cgi-bin/flask_app') 3from app import app as application
app.py(Hello
1#!C:/Users/AppData/Local/Programs/Python/Python310/python.exe 2 3from flask import Flask 4app = Flask(__name__) 5 6@app.route('/') 7def index(): 8 return 'Hello World' 9 10if __name__ == "__main__": 11 app.run(debug=True)
httpd.conf(追記した部分)
1LoadFile "C:/Users/AppData/Local/Programs/Python/Python310/python310.dll" 2LoadModule wsgi_module "C:/Users/AppData/Local/Programs/Python/Python310/lib/site-packages/mod_wsgi/server/mod_wsgi.cp310-win_amd64.pyd" 3WSGIPythonHome "C:/Users/AppData/Local/Programs/Python/Python310" 4 5WSGIScriptAlias / "C:/Apache24/cgi-bin/flask_app/application.wsgi" 6 7<Directory "C:/Apache24/cgi-bin/flask_app/"> 8 Require all granted 9</Directory>
4.自分で調べたことや試したこと
公式ページなども読めないなりにdeeplを駆使してあたってみました
それぞれパスが間違っていないことは確認しています
5.使っているツールのバージョンなど補足情報
バージョンの一覧です。
windows10(64-bit)
python(python-3.10.2-amd64.exe)
Apache(httpd-2.4.53-win64-VS16.zip)
mod-wsgi(mod_wsgi‑4.9.0‑cp310‑cp310‑win_amd64.whl)
あなたの回答
tips
プレビュー