nginx 不会响应 monit

nginx 不会响应 monit

尽管 EngineX 正在运行,但是 monit 似乎无法弄清楚。

这是我的监控日志:

[PDT Apr 13 02:19:19] error    : HTTP error: Server returned status 400
[PDT Apr 13 02:19:19] error    : 'nginx' failed protocol test [HTTP] at INET[localhost:80] via TCP
[PDT Apr 13 02:19:19] info     : 'nginx' trying to restart
[PDT Apr 13 02:19:19] info     : 'nginx' stop: /etc/init.d/nginx
[PDT Apr 13 02:19:20] info     : 'nginx' start: /etc/init.d/nginx

monitrc文件包含以下配置:

if failed port 80 protocol http and request '/ping.txt' # check for response
     with timeout 20 seconds
     then restart

我可以通过以下方式访问文件山猫http://localhost:80/ping.txt没有任何问题。

当 nginx 运行正常时,为什么 monit 会难以请求文件?

答案1

0.6.15 之前的 Nginx 版本会向 GET 等请求返回 400http://www.domain.comHTTP/1.0。我猜你在过去两年内更新过 Nginx 吧?如果是,请尝试提升 Nginx 调试级别并在此发布日志。

答案2

该问题原来是由于版本差异造成的。

我原来的 monitrc 文件是为 v5+ 设计的,但运行它的机器使用的是 Monit 4.1

相关内容