我正在尝试在运行 Apache 和 mod_wsgi 的计算机上设置 Flask 应用程序。我的应用程序“随机”运行良好,这意味着有时它可以工作,有时我刷新它,它会抛出内部服务器错误。这似乎很随机..我已经清除了浏览器的缓存,尝试了不同的浏览器,尝试了隐身模式,请 friend 从他的笔记本电脑上尝试。它总是显示这种间歇性的 500 行为。
有人知道我可以在哪里查找原因吗?或者也许您以前遇到过这个问题?
我能想到的所有数据如下,如果您需要其他信息,请告诉我。
谢谢!
<小时/>刷新失败时,Apache error_log 显示以下内容:
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] mod_wsgi (pid=1160): Target WSGI script '/home/server/servers/flaskapp.wsgi' cannot be loaded as Python module.
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] mod_wsgi (pid=1160): Exception occurred processing WSGI script '/home/server/servers/flaskapp.wsgi'.
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] Traceback (most recent call last):
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] File "/home/server/servers/flaskapp.wsgi", line 5, in <module>
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] from flaskapp.frontend import app
[Wed Aug 14 16:42:52 2013] [error] [client 171.65.95.100] ImportError: cannot import name app
应用程序的组织方式如下:
flaskapp.wsgi
flaskapp/
__init__.py (empty)
settings.py
frontend/
__init__.py (app is defined here)
static/
style.css
templates/
index.html
views.py
init.py 包含以下内容:
from flask import Flask
from flask_sqlalchemy import SQLAlchemy
app = Flask(__name__)
app.config.from_object('flaskapp.settings')
db = SQLAlchemy(app)
import flaskapp.views
与此应用程序相关的 Apache httpd.conf 文件中的配置文件是:
<VirtualHost *:80>
ServerName <redacted>
WSGIDaemonProcess flaskapp user=server group=server
WSGIScriptAlias /flaskapp /home/server/servers/flaskapp.wsgi
<Directory /home/server/servers/flaskapp/>
WSGIProcessGroup flaskapp
WSGIApplicationGroup %{GLOBAL}
Order allow,deny
Allow from all
</Directory>
</VirtualHost>
最佳答案
我在 Apache+wsgi+Django 上遇到了同样的问题。我已经尝试过setting up wsgi in Daemon mode ,正如 Django 手册所推荐的那样,这似乎解决了问题。我现在已经完成了 1000 次页面加载,但没有 500 条响应。
同样的解决方案应该可以使用 Flask 设置来工作。
关于python - Flask 和 WSGI 出现间歇性 500 HTTP 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18244217/