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