我的Flask和mod_wsgi应用程序似乎正在打破端口。每个月左右我的页面都会停止加载,但我收到“Google Chrome无法连接”消息,但将其移至新端口会修复此问题。我检查了apache日志,那里似乎没有任何错误。如果我停止apache收听端口并在实时版本之前使用的其中一个端口上运行我的开发版Flask应用程序,我会得到相同的“Google Chrome无法连接”消息。当apache正在侦听时,Netstat显示该端口正在被apache监听,而lsof -i返回一堆正在使用该端口的apache进程。我不确定mod_wsgi是否正常。如果我从apache中删除端口netstat和lsof都返回什么,但端口仍然不适用于mod_wsgi或flask。
以下是配置文件的mod_wsgi部分,其中ip,域和用户/组已更改
<VirtualHost 0.0.0.0:8880>
ServerName test.example.com
DocumentRoot /var/www/html
WSGIDaemonProcess dash user=user group=group threads=5
WSGIScriptAlias / /var/www/html/dash/dashboard.wsgi
<Directory /var/www/html/dash>
WSGIProcessGroup dash
WSGIApplicationGroup %{GLOBAL}
Order deny,allow
Allow from all
</Directory>
# records regular flask errors
ErrorLog /var/www/html/dash/error.log
LogLevel warn
这是我的wsgi文件
import os
import sys
# location of flask app
sys.path.insert(0, '/var/www/flask/dashboard')
from dashboard import app as application
# logs python errors at production.log
if not application.debug:
import logging
this_dir = os.path.dirname(__file__)
log_file = os.path.join(this_dir, 'production.log')
file_handler = logging.FileHandler(log_file)
file_handler.setLevel(logging.WARNING)
application.logger.addHandler(file_handler)
答案 0 :(得分:0)
重写没有IP地址的虚拟主机似乎已经解决了这个问题。
<VirtualHost *:8880>
感谢mod_wsgi用户组找到答案[https://groups.google.com/forum/#!forum/modwsgi][1]