目录
介绍supervisor1、执行下列命令安装supervisor2、安装完成之后,我们到配置目录去添加两个配置文件 3、启动Supervisor4、Supervisor 后台管理页面设置5、bash终端控制6、将supervsior 配置设置为开机自启动服务7、supervisord操作命令介绍supervisor
Supervisor是用python开发的一个client/server服务,是linux/Unix系统下的一个进程管理工具,不支持Windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。
1、执行下列命令安装supervisor
wget https://mirrors.tuna.tsinghua.edu.cn/epel/epel-release-latest-7.noarch.rpmrpm -ivh epel-release-latest-7.noarch.rpmyum install supervisor -y
2、安装完成之后,我们到配置目录去添加两个配置文件
文件名可以自定义 ,因为我要部署webUI和webAPI两个应用程序,所以新建了两个配置文件
cd /etc/supervi易采站长站sord.dvi WebApplication.WebUI.inivi WebApplication.WebAPI.ini
WebApplication.WebUI.ini配置文件
# 冒号后面为应用名称[program:WebApplication.WebUI]# 应用启动命令,需要dotnet的完整路径command=dotnet WebApplication.WebUI.dll --urls http://0.0.0.0:8888# 进程名称process_name=%(program_name)s# 应用启动的目录,否则应用会报找不到文件的错误directory=/data/apps/WebApplication.WebUI/# .net core 应用环境变量,表明是哪个环境environment=ASPNETCORE_ENVIRONMENT=Development# 执行用户user=rootstopsignal=INT# 掉线是否自动重启autostart=trueautorestart=truestartsecs=3priority=1# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)stderr_logfile=/data/logs/supervisor/log/%(program_name)s_error.logstderr_logfile_maxbytes=50MBstderr_logfile_backups=10# 日志输出路径,该路径自定义(路径不存在需要手动创建文件目录)stdout_logfile=/data/logs/supervisor/log/%(program_name)s_error.logstdout_logfile_maxbytes=50MBstdout_logfile_backups=10
WebApplication.WebAPI.ini配置文件
# 冒号后面为应用名称[program:WebApplication.WebAPI]# 应用启动命令,需要dotnet的完整路径command=dotnet WebApplication.WebAPI.dll --urls http://0.0.0.0:7777# 进程名称process_name=%(program_name)s# 应用启动的目录,否则应用会报找out_logfile_backups=10
3、启动Supervisor
注意:WebApplication.WebUI和WebApplication.WebAPI 应用程序需要放在对应目录下/data/apps
# 启动Supervisorsupervisord -c /etc/supervisord.conf#查看状态supervisorctl status# 防火墙开放端口(作者两个应用端口号分别是7777、8888)firewall-cmd --add-port=8888/tcp --permanentfirewall-cmd --add-port=7777/tcp --permanent



4、Supervisor 后台管理页面设置
vi /etc/supervisord.conf
取消截图部分注释

访问supervsior 后台管理页面,http://192.168.140.129:9001/

5、bash终端控制
#启动Supervisorsupervisord -c /etc/supervisor/supervisord.conf# 查看状态supervisorctl status# 停止某个服务supervisorctl stop WebApplication1# 停止所有服务supervisorctl stop all# 开始某个服务supervisorctl start WebApplication1# 开始所有服务supervisorctl start all# 重启某个服务supervisorctl restart WebApplication1# 重启所有服务supervisorctl restart all# 重启Supervisorsupervisorctl reload# 修改Supervisorsupervisorctl update
6、将supervsior 配置设置为开机自启动服务
vi /usr/lib/systemd/system/supervisord.service# 内容[Unit]Description=Supervisor[Service]Type=forkingPIDFile=/var/run/supervisord.pidExecStart=/usr/bin/supervisord -c /etc/supervisord.confExecStop=/usr/bin/supervisorctl shutdownExecReload=/usr/bin/supervisorctl reloadKillMode=processRestart=on-failureRestartSec=42s[Install]WantedBy=multi-user.target
# 启动服务systemctl enable supervisord# 验证是否为开机自启动systemctl is-enabled supervisord

7、supervisord操作命令
# 停止systemctl stop supervisord# 启动systemctl start supervisord# 状态systemctl status supervisord# 重载systemctl reload supervisord# 重启systemctl restart supervisord
参考链接:
https://www.cnblogs.com/chenxi001/p/13614831.html
https://www.jianshu.com/p/9d3b993556b2








