简介
Supervisor 是一个用 Python 写的进程管理工具,可以很方便的用来在 UNIX-like 系统(不支持 Windows)下启动、重启(自动重启程序)、关闭进程(不仅仅是 Python 进程
Supervisor 是一个 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端
命令
安装
- pip安装
- yum安装
- apt-get安装
1
| apt-get install supervisor
|
指定配置文件
- centos默认的配置文件
1
| supervisord -c /etc/supervisord.conf
|
- 也可以自己新建配置文件然后指定
1
| supervisord -c /home/supervisord.conf
|
启动
启动所有
启动指定服务(例如:tomcat)
1
| supervisorctl start tomcat
|
1
| systemctl start supervisord.service
|
重启
重启指定服务(例如:tomcat)
1
| supervisorctl restart tomcat
|
1
| systemctl restart supervisord.service
|
查看
关闭
关闭指定服务(丽日tomcat)
1
| supervisorctl stop tomcat
|
关闭所有
配置
服务配置
1 2 3 4 5 6 7 8
| [program:tomcat] directory=/data/task/tomcat command=python3 tomcat.py autostart=true autorestart=true user=root stdout_logfile=/data/logs/tomcat.out.log stderr_logfile=/data/logs/tomcat.err.log
|
踩坑
暂时无法解决的问题
error: <class ‘socket.error’>, [Errno 111] Connection refused: file: /usr/lib64/python2.7/socket.py line: 224
unix:///var/tmp/supervisor.sock refused connection
- supervisorctl 命令无论如何都有这个错误
- 你可以选择放弃使用supervisorctl 命令 ,暂时使用 systemctl 进行操作,例如:
systemctl restart supervisord.service