安装
yum -y install supervisor
配置
一般安装完成后主配置文件在 /etc/supervisord.conf
然后根据上述配置文件中指定位置,在 /etc/supervisord.d
创建进程配置文件 go-nacos-liunx.ini
,如下:
[program:laravel-worker]
[program:go-nacos-liunx]
process_name=%(program_name)s_%(process_num)02d
command=/home/go-nacos/go-nacos-liunx -dataId=demo -group=dev -path=/home/data/项目demo/ -filename=.env -username=nacos -password=*** -ip=127.0.0.1 -filename=.env # 命令
autostart=true # 在 supervisord 启动的时候也自动启动
autorestart=true # 程序异常退出后自动重启
stopasgroup=true # 如果设置为true,则会使supervisor发送停止信号到整个进程组
killasgroup=true # 如果设置为true,则在给程序发送SIGKILL信号的时候,会发送到整个进程组,它的子进程也会受到影响。
user=root # 如果supervisord以root运行,则会使用这个设置用户启动子程序
numprocs=1 # Supervisor启动这个程序的多个实例,如果numprocs>1,则process_name的表达式必须包含%(process_num)s,默认是1
redirect_stderr=true # 如果设置为true,进程则会把标准错误输出到supervisord后台的标准输出文件描述符
stdout_logfile=/home/forge/go_nacos_liunx_worker.log # 要输出到的指定日志文件路径,需要手动创建日志目录,不然无法启动,日志文件会自动创建
stopwaitsecs=3600 # 发送SIGKILL前的等待时间
更多配置详情参考:详解Supervisor进程守护监控
常用命令
systemctl enable supervisord #开机自启动
systemctl start|stop|restart supervisord #启动停止命令
systemctl status supervisord #查看状态
supervisorctl status #查看进程运行状态
supervisorctl start 进程名 #启动进程
supervisorctl stop 进程名 #关闭进程
supervisorctl restart 进程名 #重启进程
supervisorctl shutdown #关闭
supervisorctl reread #重新载入配置文件
supervisorctl reload #重新载入配置并重启