linux中supervisor实现进程守护

分类: linux 发布时间: 2018-11-09 06:12:28

Supervisor在Centos中的安装

一、插件安装:
easy_install supervisor
yum install python-setuptools
easy_install supervisor
二、测试是否安装成功
echo_supervisord_conf
三、创建配置文件
创建配置目录
mkdir -m 755 -p /etc/supervisor/
创建配置文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf
创建项目配置文件目录
cd /etc/supervisor/ && mkdir -m 755 conf.d
四、配置web管理界面
vi /etc/supervisor/supervisord.conf

删除以下的注释

1541572368477.jpg

并在底部增加以下代码,引入配置文件

[include]
files = ./conf.d/*.ini
五、配置开机启动
vi /lib/systemd/system/supervisord.service

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
SysVStartPriority=99
[Install]
WantedBy=multi-user.target
六、设置开机启动并校验是否设置成功
systemctl enable supervisord
systemctl is-enabled supervisord
七、为应用程序设置进程守护(以下为举例)
[program:make_cancel]
 process_name=%(program_name)s
 command=/usr/bin/php /home/wwwroot/default/artisan make:cancel
 autostart=true
 autorestart=true
 user=root
 numprocs=1
 redirect_stderr=true
 stdout_logfile=/home/supervisor_log/make_cancel.log
[program:golang-home-http-server]
directory=/aa/bb/www.panjunwei.com
command=/aa/bb/www.panjunwei.com/home 
autostart=true
autorestart=true
startsecs = 5
user=root
redirect_stderr = true
stdout_logfile=/aa/cc/golang_home_http_server_stdout_logfile.log
stdout_logfile_maxbytes=1MB
stdout_logfile_backups=10
stdout_capture_maxbytes=1MB
stderr_logfile=/aa/cc/golang_home_http_server_stderr_logfile.log
stderr_logfile_maxbytes=1MB
stderr_logfile_backups=10
stderr_capture_maxbytes=1MB

command:表示运行的命令,填入完整的路径即可。
autostart:表示是否跟随supervisor一起启动。
autorestart:如果该程序挂了,是否重新启动。
stdout_logfile:终端标准输出重定向文件。
stderr_logfile:终端错误输出重定向文件。

八、启动命令

supervisord -c /etc/supervisor/supervisord.conf