Supervisor的安装与配置

Supervisor是一个Python编写的进程管理工具,支持Linux/Unix系统(不支持Windows),可以很方便的启动、停止、重启多个进程,可以在程序意外退出后自动重启,记录并输出所有控制台日志,免去了自己编写shell脚本的麻烦,十分方便快捷。

一、安装并初始化

apt install supervisor #安装
systemctl enable supervisor #设置开机自启
supervisord #初始化

二、添加配置

Supervisor的默认配置目录在/etc/supervisor/conf.d/下,以下是一个例子

vim /etc/supervisor/conf.d/slimchat.conf #slimchat为自定义名称,下同

[program:slimchat]
command=npm start 启动命令
directory=/home/wwwroot/www.slimchat.ml/SlimChat/ 目录
autostart=true 是否自启
autorestart=true 进程退出后是否自动重启
stderr_logfile=/var/log/slimchat.err.log 错误日志
stdout_logfile=/var/log/slimchat.out.log 输出日志
user=www 用户身份
stopsignal=INT

三、管理命令

supervisorctl status slimchat #查看进程状态(使用自定义的名称)

supervisorctl stop slimchat #停止

supervisorctl start slimchat #启动

supervisorctl restart slimchat #重启

supervisorctl reload #重启整个服务(注意!此命令会重启所有进程,不推荐

更新配置后的正确方法:

supervisorctl reread

supervisorctl update

四、常见问题

错误信息:

Error: Another program is already listening on a port that one of our HTTP servers is configured to use. Shut this program down first before starting supervisord.

解决方法:

find / -name supervisor.sock
unlink /run/supervisor.sock
supervisord

 

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注