httpd服务突然停止了

httpd服务突然停止了

当我尝试访问我的网站时,突然无法再访问它。我检查了我的错误日志并发现了这一点。

[Sun Jul 19 03:10:01.233369 2015] [auth_digest:notice] [pid 2570] AH01757: generating secret for digest authentication ...
[Sun Jul 19 03:10:01.233948 2015] [lbmethod_heartbeat:notice] [pid 2570] AH02282: No slotmem from mod_heartmonitor
[Sun Jul 19 03:10:01.250268 2015] [mpm_prefork:notice] [pid 2570] AH00163: Apache/2.4.12 (Amazon) PHP/5.4.41 configured -- resuming normal operations
[Sun Jul 19 03:10:01.250288 2015] [core:notice] [pid 2570] AH00094: Command line: '/usr/sbin/httpd'
[Mon Jul 20 01:16:46.175258 2015] [suexec:notice] [pid 2567] AH01232: suEXEC mechanism enabled (wrapper: /usr/sbin/suexec)
[Mon Jul 20 01:16:46.198570 2015] [auth_digest:notice] [pid 2570] AH01757: generating secret for digest authentication ...
[Mon Jul 20 01:16:46.199282 2015] [lua:error] [pid 2570] (17)File exists: AH02665: mod_lua: Failed to create shared memory segment on file /tmp/httpd_lua_shm.2570
[Mon Jul 20 01:16:46.199302 2015] [:emerg] [pid 2570] AH00020: Configuration Failed, exiting

然后,我尝试重新启动httpd服务。我看到了这个

Stopping httpd:                  [  Failed ]
Starting httpd:                  [  OK  ]

重新启动服务后,我现在可以再次访问我的网站。

这里似乎有什么问题?我确定我没有触摸或重新启动服务器。有人可以解释一下我所经历的事情,以及如何防止它再次发生吗?我不知道我的用户发现他们无法访问我的网站。

以下是一些相关信息:

Server version: Apache/2.4.12 (Amazon)
Server built:   Mar 18 2015 20:24:15

答案1

如果没有更多信息,您的错误似乎与以下内容有关:

(17)文件存在:AH02665: mod_lua: 无法在文件 /tmp/httpd_lua_shm.2570 上创建共享内存段

然后您的站点将变得无响应,因为 mod_lua 不再运行。

AH00020:配置失败,正在退出

重新启动 Apache 可以修复死掉的工作进程。重新加载可能也会“修复”它。纠正问题的第一步是找出 mod_lua 无法创建文件的原因。这是一个错误(尝试打开文件两次),是一个权限问题(apache 用户无法访问该文件),还是一个系统问题(该文件存在,因为一个线程仍在使用它,即使它不应该即僵尸进程)。该错误可能不准确。可能不是该文件存在,而是其他原因。你需要先找到它。还可以使用类似的方法lsof来查看为什么该文件存在并且未被删除。

如果是僵尸进程,只需重启服务器即可解决问题,但我会针对 mod_lua 提交错误报告。如果它无法创建临时文件,则应该使用另一个文件。不过 2570 看起来像是 apache 的 PID。所以也许可以尝试完全终止 apache,然后重新启动它(apache)。

相关内容