mod_wsgi 不断重启 Flask 应用

mod_wsgi keeps restarting flask app

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

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

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