質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

0回答

987閲覧

flaskアプリをApache HTTP Serverで動作させたい

python_beginner

総合スコア12

Flask

FlaskはPython用のマイクロフレームワークであり、Werkzeug・Jinja 2・good intentionsをベースにしています。

Apache

Apacheは、Apache HTTP Serverの略で、最も人気の高いWebサーバソフトウェアの一つです。安定性が高いオープンソースソフトウェアとして商用サイトから自宅サーバまで、多くのプラットフォーム向けに開発・配布されています。サーバーソフトウェアの不具合(NCSA httpd)を修正するパッチ(a patch)を集積、一つ独立したソフトウェアとして開発されました。

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2022/04/21 05:26

編集2022/05/14 06:00

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)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問