【发布时间】:2015-05-28 06:11:27
【问题描述】:
我正在使用 mod_wsgi-express 在 CentOS 6 服务器上提供一个简单的 Flask 应用程序。该应用目前使用频率很低。
我遇到了一个问题,即每隔几天,应用就会崩溃,出现 500 个错误或根本没有响应。这似乎与加载或使用无关。
查看错误日志,我偶尔会看到“[notice] 捕获 SIGTERM,正在关闭”消息,之后它会显示 mod_wsgi-express 重新启动。我不知道为什么会这样。
我也收到了这条消息:
[error] (2)No such file or directory: mod_wsgi (pid=24550, process='localhost:8080', application=''): call to fopen() failed ff 或'/tmp/mod_wsgi-localhost:8080:14699/handler.wsgi'。
我尝试在启用 gdb 和 pdb 调试器的情况下运行 mod_wsgi-express,但没有发现与 Python 脚本的实际执行相关的任何错误。
我也有一个
[info] [client 137.78.237.31] (104)Connection reset by peer: core_output_filter: 向网络写入数据
这开始了数百个
[notice] child pid 15952 exit signal Segmentation fault (11)
在几天内。
这些消息似乎都是随机发生的,彼此独立。 唯一一致的是 SIGTERM 信号经常发生。
我对发生了什么感到困惑。实现看起来很简单——它是一个简单的工具,可以验证上传文件中的元数据。
【问题讨论】:
-
在使用gdb模式时,是否也提供
--debug-mode? gdb 模式仅在调试模式下工作,并且怀疑您不会在长时间运行的实例中这样做,因为它将其限制为单进程和单线程以允许调试。