我的服务器上有VestaCp和nginx,并希望在停止时重启我的服务。
示例有时nginx停止并需要手动重启。所以在这段时间我的网站无法访问。我有Centos 7.1。
答案 0 :(得分:0)
我会推荐Monit软件。它是免费的,你可以通过互联网找到很多例子。
Idk如果Centos在yum install monit
拥有该软件包,肯定是在Debian存储库中。
在Web服务器内运行的Web服务的基本监视器应在所需端口使用http检查,即80前nginx或8080 apache2 reverse_proxy。
git examples的示例:
# nginx
check process nginx with pidfile /opt/nginx/logs/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host 127.0.0.1 port 80 then restart
if cpu is greater than 40% for 2 cycles then alert
if cpu > 60% for 5 cycles then restart
if 10 restarts within 10 cycles then timeout
最低nginx和警报配置:
# email alerts
set mailserver localhost
set mail-format { from: monit@localhost OR you@your-domain.com }
set alert your-email@your-domain.com
# nginx
check process nginx with pidfile /opt/nginx/logs/nginx.pid
start program = "/etc/init.d/nginx start"
stop program = "/etc/init.d/nginx stop"
if failed host 127.0.0.1 port 80 then restart
if failed host 127.0.0.1 port 80 then alert
它的作用是自我解释。
通常,您应该为您监控的每项服务放置单个文件,并保持其清洁。此外,示例服务是提供者,您只需将它们放在正确的文件夹上即可启用它们。
快速示例的优秀文档位于that link
我用它,真的很酷。如你所见,你可以在almos的情况下运行许多程序任何事件触发器。你可以看到pids,端口和许多其他东西。
你问nginx,但当然你也可以看看vesta服务。 Vesta管理面板在另一个未安装的nginx服务处理的nginx进程中运行,因为这个进程用于托管的nginx代理。
所以,有2个nginx进程,您将同时观看8083和80(和ssl为443)
我在过去通过pid监控apache2时遇到了一些问题,所以http检查更好。如果监听正在运行。
祝你好运。