Monit 无法启动/停止 nginx 服务器

Monit 无法启动/停止 nginx 服务器

我在监控 nginx 时遇到了问题。Monit 可以监控 nginx 并显示资源使用情况(RAM 使用情况等),但无法启动/停止 nginx。我只收到一条简单消息:“执行失败”。Syslog 没有提供更多信息。

我的 monitrc 配置文件:

check process nginx with pidfile /var/run/nginx.pid
start program = "/etc/init.d/nginx start"
stop program  = "/etc/init.d/nginx stop"
group www-data

重新启动任何其他受监控程序(例如 dovecot)即可。此外,手动运行 nginx 也可以

/etc/init.d/nginx start

系统日志:

 May  5 17:47:45 vm7508 monit[7079]: restart service 'nginx' on user request
 May  5 17:47:45 vm7508 monit[7079]: monit daemon at 7079 awakened
 May  5 17:47:45 vm7508 monit[7079]: Awakened by User defined signal 1
 May  5 17:47:45 vm7508 monit[7079]: 'nginx' trying to restart
 May  5 17:47:45 vm7508 monit[7079]: 'nginx' stop: /etc/init.d/nginx
 May  5 17:48:15 vm7508 monit[7079]: 'nginx' failed to stop
 May  5 17:48:15 vm7508 monit[7079]: 'nginx' restart action done

谢谢。

答案1

我有同样的问题,但在我的例子中,错误很明显,组是 mysql 而不是 www-data (我在 ubuntu 上运行 nginx)然后我更改了 conf.d 文件,然后重新启动了 monit 和

进程 'nginx' 状态 运行监控状态 已监控

希望能帮助到你。

答案2

您可能需要检查pid您的进程是否存在。通常它存储在/var/run/文件夹中。如果pid文件丢失,您应该手动终止并启动该进程。

答案3

这里也有同样的问题(来自 Ubuntu 14.04 LTE 软件包存储库的 Monit 5.6)。我不知道您使用什么条件来自动重启 nginx,但您可以采取如下解决方法:

check process nginx with pidfile /var/run/nginx.pid
    if <YOUR CONDITION> then exec "/etc/init.d/nginx restart"

相关内容