天天看点

Ubuntu/CentOS使用Supervisor管理进程

Supervisor官网:http://supervisord.org/

1.安装supervisor

#pip
pip install supervisor

#ubuntu
sudo apt-get install supervisor

#centos
yum -y install supervisor
           

2.启动,安装完后如supervisor没启动,可以使用如下,手动启动

#启动supervisor
/usr/bin/supervisord -c /etc/supervisord.conf
           

3.添加开机自启动

#创建supervisord.service
vi /usr/lib/systemd/system/supervisord.service

#supervisord.service文件内容
[Unit]
Description=Supervisor

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf
ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
ExecReload=/usr/bin/supervisorctl $OPTIONS reload
KillMode=process
Restart=on-failure
RestartSec=42s

[Install]
WantedBy=multi-user.target
           
#激活开机启动
systemctl enable supervisord.service

#如修改了supervisord.service配置文件需重新加载
systemctl daemon-reload
           

各种开机自启动脚本: https://github.com/Supervisor/initscripts

4.创建一个应用程序spring-app的配置文件

[program:spring-app]
command=java -Djava.awt.headless=true -Xms512M -Xmx1G -Dfile.encoding=UTF8 -Dspring.profiles.active=prod -jar /var/lib/spring/spring-app.jar
user=spring
group=spring

autostart=true
autorestart=true
startretries=3
stdout_logfile=/dev/null
redirect_stderr=true
stderr_logfile=/var/log/spring/spring-app.err
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=2
           
#加载配置文件
supervisorctl reread

#启动spring-app
supervisorctl start spring-app

#查看进程状态
supervisorctl status
           

继续阅读