![Monit 无法启动/停止 nginx 服务器](https://linux22.com/image/611172/Monit%20%E6%97%A0%E6%B3%95%E5%90%AF%E5%8A%A8%2F%E5%81%9C%E6%AD%A2%20nginx%20%E6%9C%8D%E5%8A%A1%E5%99%A8.png)
我在监控 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"