我正在使用mod_wsgi-express在CentOS 6服务器上提供简单的Flask应用程序。该应用程序目前很少使用。
我遇到了一个问题,每隔几天,应用程序就会崩溃,要么提供500个错误,要么根本没有响应。这似乎与加载或使用无关。
查看错误日志,我偶尔会看到“ [notice]捕获SIGTERM,关闭”消息,之后会出现mod_wsgi-express restarts。我不知道为什么会这样。
我也收到了这条消息:
[错误](2)没有这样的文件或目录:mod_wsgi(pid = 24550,process ='localhost:8080',application =''):调用fopen()失败ff 或'/tmp/mod_wsgi-localhost:8080:14699/handler.wsgi'。
我尝试在启用了gdb和pdb调试器的情况下运行mod_wsgi-express,并且没有看到任何与Python脚本的实际执行相关的错误。
我也有一个
[info] [client 137.78.237.31](104)通过对等方重置连接:core_output_filter:将数据写入网络
开了数百个
[notice] child pid 15952退出信号分段错误(11)
过了几天。
这些消息似乎都是随机发生的,彼此独立。 唯一一致的是SIGTERM信号经常发生。
我对发生了什么感到困惑。实现看起来非常简单 - 它是一个简单的工具,用于验证上传文件中的元数据。
答案 0 :(得分:0)
对于500个错误,请使用--server-root
选项为其工作目录指定默认值/tmp
以外的目录。
默认值应仅用于短期运行,而--server-root
用于指定更长久的主页,如果运行更长时间。
这是必要的,因为某些操作系统可以设置为在/tmp
中删除一段时间内没有修改过的文件。我一直在考虑在启动输出中添加一个警告,专门建议使用--server-root
如果依赖默认值。
有关分段错误的问题,请访问mod_wsgi邮件列表进一步讨论。 StackOverflow不是一个讨论论坛,该问题可能需要更多调查和讨论才能了解您的应用程序正在做什么。
更新1
继续讨论: