烧瓶& mod_wsgi app导致端口停止工作

时间:2013-12-01 07:11:44

标签: python apache flask mod-wsgi

我的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)

1 个答案:

答案 0 :(得分:0)

重写没有IP地址的虚拟主机似乎已经解决了这个问题。

<VirtualHost *:8880>

感谢mod_wsgi用户组找到答案[https://groups.google.com/forum/#!forum/modwsgi][1]