Python flask应用程序仅显示带有apache2的文件列表

Python flask应用程序仅显示带有apache2的文件列表,python,apache,flask,Python,Apache,Flask,我正在尝试用apache2服务器托管flask应用程序。服务器工作正常,但我只看到一个文件列表,一个奇妙的“索引”页面。我的代码非常简单。这是我在/var/www/flask\u dev中的hello.py文件: from flask import Flask app = Flask(__name__) @app.route('/') def hello_world(): return 'Hello World!' if __name__ == '__main__': app.run

我正在尝试用apache2服务器托管flask应用程序。服务器工作正常,但我只看到一个文件列表,一个奇妙的“索引”页面。我的代码非常简单。这是我在/var/www/flask\u dev中的hello.py文件:

from flask import Flask
app = Flask(__name__)

@app.route('/')
def hello_world():
return 'Hello World!'

if __name__ == '__main__':
    app.run(host='0.0.0.0')
我还在/etc/apache2/sites available/flask_dev.conf中创建了一个apache配置文件:

ServerName example.com

<VirtualHost *:80>

        ServerAdmin webmaster@localhost
        WSGIDaemonProcess hello user=www-data group=www-data threads=5     python-path=/var/www/flask_dev
        WSGIScriptAlias / /var/www/flask_dev/start.wsgi
        <Directory /var/www/flask_dev>
                WSGIProcessGroup hello
                WSGIApplicationGroup %{GLOBAL}
                Options Indexes FollowSymLinks
                AllowOverride None
                Require all granted
        </Directory>

        ErrorLog ${APACHE_LOG_DIR}/error.log
        CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我不确定我做错了什么,我只是按照一个简单的教程


感谢您的帮助:)

您可能没有安装Apache的
mod_wsgi
模块

Apache需要导入
mod_wsgi
模块才能与python一起工作。有关安装的更多说明,请访问

安装后,使用加载模块wsgi\u模块modules/mod\u wsgi.so编辑您的
httpd.conf


如果您在Windows上,则必须下载python版本和体系结构的相应
mod_wsgi.so
。如果该文件具有任何特定于python的版本命名,请将其重命名为
mod_wsgi.so
,并将conf设置为LoadModule

您可能没有为Apache安装
mod_wsgi
模块

Apache需要导入
mod_wsgi
模块才能与python一起工作。有关安装的更多说明,请访问

安装后,使用加载模块wsgi\u模块modules/mod\u wsgi.so编辑您的
httpd.conf


如果您在Windows上,则必须下载python版本和体系结构的相应
mod_wsgi.so
。如果该文件具有任何特定于python的版本命名,请将其重命名为
mod_wsgi.so
,并将conf设置为LoadModule

您是否已将该conf文件复制或符号链接到已启用的站点?对于您的
WSGIDaemonProcess
WSGIProcessGroup
,用户和组“hello”是否确实存在?尝试将系统上存在的真实用户(以及对您的
/var/www/flask\u dev
具有权限的用户)放到那里。在重新启动apache服务时,您也查看过error.log吗?error.log显示它无法导入名称“app”,但我只遵循了一个教程,它似乎对他们有效。无法加载目标WSGI脚本,因为python模块也在加载shown@User3745172我也有同样的问题。您是如何解决这个问题的?需要一点尝试和错误,但最后您必须确保启用在apache中为flask创建的conf文件,而我没有启用。希望帮助您将conf文件复制或符号链接到已启用的站点?对于您的
WSGIDaemonProcess
WSGIProcessGroup
,用户和组“hello”实际存在吗?尝试将系统上存在的真实用户(以及对您的
/var/www/flask\u dev
具有权限的用户)放到那里。在重新启动apache服务时,您也查看过error.log吗?error.log显示它无法导入名称“app”,但我只遵循了一个教程,它似乎对他们有效。无法加载目标WSGI脚本,因为python模块也在加载shown@User3745172我也有同样的问题。您是如何解决这个问题的?需要一点尝试和错误,但最后您必须确保启用在apache中为flask创建的conf文件,而我没有启用。希望有帮助
from hello import app as application

import sys
sys.stdout = sys.stderr