Centos7 配置 Supervisor 进程守护
- Linux
- 2023-10-17
- 16热度
- 0评论
supervisord和supervisorctl:
1、supervisord是supervisor的服务端程序。启动supervisor程序自身,启动supervisor管理的子进程,响应来自clients的请求,重启闪退或异常退出的子进程,把子进程的stderr或stdout记录到日志文件中,生成和处理Event。
2、如果说supervisord是supervisor的服务端程序,那么supervisorctl就是client端程序了。supervisorctl有一个类似shell的命令行界面,我们可以利用它来查看子进程状态,启动/停止/重启子进程,获取running子进程的列表等等。supervisorctl不仅可以连接到本机上的supervisord,还可以连接到远程的supervisord,当然在本机上面是通过UNIX socket连接的,远程是通过TCP socket连接的。supervisorctl和supervisord之间的通信,是通过xml_rpc完成的。
# 安装依赖
yum install -y epel-release
# 安装supervisor
yum install -y supervisor
# 开机自启
systemctl enable supervisord
# 启动
systemctl start supervisord
# 查看状态
systemctl status supervisord
# 查看是否存在supervisord进程
ps -ef|grep supervisord
# 修改配置
vim /etc/supervisord.conf
# 调整增加引入配置文件路径,这个路径放置项目对应的 supervisor 配置文件
# include表示/etc/supervisord.d/文件夹下的所有的.ini文件,都作为启动的应用程序(下文简称“进程”)
# 每一个.ini对应一个应用程序的进程,包括但不限于dotnet应用进程
[include]
files = /etc/supervisord.d/*.ini
# 在supervosprd.d文件夹中创建iot.ini文件并编辑如下:
[program:iot] #程序名称
command=dotnet iot.dll #需要执行的命令
#command=java -jar iot.jar
directory=/home/publish #命令执行的目录
user=root #用户
priority=999
stopsignal=INT
autostart=true #是否自启动
autorestart=true #是否自动重启
startretries=3 #重启失败次数
startsecs=3 #自动重启时间间隔(s)
stderr_logfile=/var/log/iot.err.log #错误日志文件
stdout_logfile=/var/log/iot.out.log #输出日志文件
# 可启用web界面
vim /etc/supervisord.conf
例如:
[inet_http_server]
port=0.0.0.0:9001
username=admin
password=123456
常用命令:
supervisorctl status #查看程序状态
supervisorctl stop name #关闭name程序
supervisorctl start name #启动name程序
supervisorctl restart name #重启name程序
supervisorctl reread #读取有更新的配置文件,不会启动新添加的程序
supervisorctl update #重启配置文件修改过的程序

鲁ICP备19063141号
鲁公网安备 37010302000824号