Linux安装(二十一)之supervisorctl安装

supervisorctl安装介绍

Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制

安装

yum install -y epel-release && yum install -y supervisor

开机自启supervisord

systemctl enable supervisord

启动supervisord

systemctl start supervisord

检查启动状态

systemctl status supervisord

 

 

开启web访问

vim /etc/supervisord.conf

将如下图中信息改为下下图中信息

 

 

 去掉注释,修改ip端口,用户名,密码

重新加载配置文件

supervisorctl reload

nginx映射配置

server { listen 80; server_name test-xxx.xxx.com;//自己的域名,写localhost也可以 location /supervisor/{ proxy_pass http://192.168.9.102:9001/; } }

查看配置文件

cat supervisord.conf

新增ini文件,让supervisorctl管理

cd /etc/supervisord.d/

新增文件

vim project-web.ini

内容如下

[program:project-web] directory = /home/project ;启动目录 command = java -jar project-web.jar ;启动命令 autostart = true ;在supervisord启动的时候也启动 startsecs = 5 ;启动5秒后没有异常退出,就当作已经正常启动了 autorestart = true ;程序异常退出后自动重启 startretries = 3 ;启动失败自动重试次数,默认是3 user = root ;哪个用户启动 redirect_stderr = true ;把stderr重定向到stdout,默认false stdout_logfile_maxbytes = 20MB ;stdout日志文件大小,默认50MB stdout_logfile_backups = 20 ;stdout日志文件备份数 stdout_logfile = /home/project/logs/project.log ;stdout日志文件,需要手动创建/home/project/logs目录

重启
supervisorctl reload
启动project-web进程

supervisorctl start project-web

1、开启端口9001

firewall-cmd --zone=public --add-port=9001/tcp --permanent

2、重启防火墙

firewall-cmd --reload

查看已经开放的端口:

firewall-cmd --list-ports