mod_wsgi不断重启烧瓶app

时间:2018-01-29 17:57:09

标签: apache flask mod-wsgi flask-login

从Flask的文档中,我在配置中有以下内容:

<VirtualHost *>
    ServerName example.com

    WSGIDaemonProcess yourapplication user=user1 group=group1 threads=5
    WSGIScriptAlias / /var/www/yourapplication/yourapplication.wsgi

    <Directory /var/www/yourapplication>
        WSGIProcessGroup yourapplication
        WSGIApplicationGroup %{GLOBAL}
        Order deny,allow
        Allow from all
    </Directory>
</VirtualHost>

在我的.wsgi文件中,我导入了正确的python文件并导入烧瓶应用程序作为应用程序。一切正常,但我添加了日志记录,因为我怀疑有些问题。显然,只要浏览器建立连接,就会经常调用wsgi文件。它重新启动应用程序(或至少一个新进程)。我从来没有注意到这一点,在我导入flask-login来管理经过身份验证的会话之前,我也没有看到它。现在,无论何时登录,经过一段短时间后,都会重新加载wsgi应用程序并且会话历史记录不再存在。实际上,我必须每隔几秒登录一次。这是mod_wsgi的预期方式吗?我已经测试了我的烧瓶应用程序在独立模式下运行(烧瓶自己的开发服务器),它运行完美。

在某种程度上它是重复的,但它也不是。服务器代码没有错误。只是mod_wsgi一遍又一遍地重启应用程序。感谢您链接到其他帖子!

1 个答案:

答案 0 :(得分:0)

所以我发现wsgi确实经常重启应用程序。我想这是预期的行为,但这不是我的预期。我的登出问题是因为我在启动时生成应用程序的密钥。因此,秘密密钥不断变化。显然,这会使cookie无效并将用户注销。所以,我想如果你想要生成一个秘密密钥而不只是在你的源代码中有纯文本,你需要在外部生成它并将其导入到烧瓶应用程序中,这样它就不会一直改变。