如何使用 Apache2 和 Mod-WSGI 运行 Flask

how to Running Flask with Apache2 and Mod-WSGI

我正在尝试 运行 在我的树莓派中使用 Apache2 和 Mod-WSGI 进行 Flask 我得到了请求的 URL 但在此服务器上找不到 我尝试编辑 000 -default.conf 但应用程序不会使用 Mod-WSGI。 我用了 python 3

谁能告诉我问题出在哪里?

谢谢 这是我在 apache2 中的状态:

这是 app.wsgi :

#!/usr/bin/python3
import sys
sys.path.insert(0, '/var/www/html/prox')
from init import app as application

这是000-default.conf

Listen 5000

<虚拟主机 *:5000>

    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html/prox

    LogLevel debug

    WSGIScriptAlias / /var/www/html/prox/app.wsgi
    WSGIDaemonProcess prox processes=5 threads=1 user=pi group=pi display-name=%{GROUP}
    WSGIProcessGroup prox
    WSGIApplicationGroup %{GLOBAL}
    WSGIPassAuthorization On
    WSGIChunkedRequest On
    ErrorLog ${APACHE_LOG_DIR}/error-5000.log
    CustomLog ${APACHE_LOG_DIR}/access-5000.log combined

    <Directory /var/www/html/prox>
        <IfVersion >= 2.4>
            Require all granted
        </IfVersion>
        <IfVersion < 2.4>
            Order allow,deny
            Allow from all
        </IfVersion>
    </Directory>

此应用程序:名为 app.py

from flask import Flask, render_template

app = Flask(__name__)
@app.route('/')
def home_page():
    return render_template('index.html')

app.debug = True
if __name__ == '__main__'
    app.run()

这是 journalctl -xe :

我遇到了这个错误

例如,尝试在您的 Apache 服务器上启动 Flask 应用程序本身。

// Find your flask app
export FLASK_APP=<YOUR_FILE>

// Host it on your local network
flask run --host=0.0.0.0

这将启动服务器,确保您处于虚拟环境和 Flask 应用程序存储的目录中。