我试图使用Apache和mod_wsgi部署一个烧瓶应用程序。
我关注了instructions on the official flask documentation。
我安装了Apache和mod_wsgi(我不确定它是否为python 3.5安装了,但我找不到任何方法可以检查)。
我为我的应用程序myapp创建了一个虚拟环境,并安装了所有必需的依赖项(使用pip)。
string.h
我按照上一个链接中的建议创建了一个myapp.wsgi文件:
virtualenv -p python3 env
我为我的应用程序创建了一个vhost
activate_this = '/var/www/myapp/env/bin/activate_this.py'
with open(activate_this) as file_:
exec(file_.read(), dict(__file__=activate_this))
from project import app as application
当我尝试使用浏览器访问我的应用程序时出现500错误并且日志错误
<VirtualHost *:80>
ServerName myapp.com
WSGIScriptAlias / /var/www/myapp/myapp.wsgi
<Directory /var/www/myapp>
Require all granted
</Directory>
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>
我认为在激活虚拟环境时存在问题。
有什么想法来解决这个问题?
答案 0 :(得分:0)
我在Apache配置文件中遗漏了这两行:
WSGIPythonHome /var/www/myapp/env/bin/python3.5
WSGIPythonPath /var/www/myapp/env/lib/python3.5/site-packages
他们需要 out VirtualHost部分。