本文记录使用supervisor部署nginx的方法。
子进程配置文件
1 | [program:nginx] |
注意:nginx的启动命令一定要加上 daemon off 属性,使得nginx不启用其后台守护进程,而把前台进程交给supervisor管理。
部署方法
第一步,如果nginx已用systemd管理,我们首先将nginx从systemd中失效和停止。
使用如下命令失效nginx的管理:
1 | $ sudo systemctl disable nginx.service |
执行过程如下:
使用如下命令停止nginx:
1 | $ sudo systemctl stop nginx.service |
执行过程如下:
第二步,将上述子进程配置文件(点击下载),保存到服务器 /etc/supervisor/conf.d 目录下,名称可为 nginx.conf。
使用如下命令生效supervisor的监控:
1 | $ sudo supervisorctl update |
启动过程如下图所示:
第三步,我们验证下supervisor是否可以自动重启nginx,用kill所有nginx进程的方法来模拟崩溃: