续上一篇文章:asp.net core2.0 部署centos7/linux系统 --安装部署(一),遗留的问题而来,对程序添加守护进程,使网站能够持续化的运行起来。css
一、介绍supervisorhtml
Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统。它能够很方便的监听、启动、中止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它从新拉起,很方便的作到进程自动恢复的功能,再也不须要本身写shell脚原本控制。由于Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS7,Python2.7版本环境下,介绍Supervisor的安装与配置步聚:python
一、安装Python包管理工具(easy_install),安装supervisorlinux
命令:yum install python-setuptoolsweb
easy_install supervisorshell
说明:supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通讯,发送管理进程的指令)、生成初始配置文件程序centos
二、配置supervisorapi
新建配置目录命令:mkdir /etc/supervisor安全
生成supervisor的初始化配置文件 :echo_supervisord_conf > /etc/supervisor/supervisord.confbash
修改配置文件:vi supervisord.conf,如图:
取消注释并修改文件并保存
三、配置管理进程
说明:进程管理配置参数,不建议全都写在supervisord.conf文件中,应该每一个进程写一个配置文件放在include指定的目录下包含进supervisord.conf文件中
a.建立 /etc/supervisor/conf.d目录, 用于存放进程管理的配置文件
b.修改/etc/supervisor/supervisord.conf中的include参数,将/etc/supervisor/conf.d目录添加到include中
应用程序1的配置:好比咱们应用程序名称为:WebApplication1
命令 vi WebApplication1.conf
输入代码:
[program:WebApplication1]
command=dotnet WebApplication1.dll
directory=/root/aspnetcoreapi
autorestart=true
stderr_logfile=/var/log/WebApplication1.err.log
stdout_logfile=/var/log/WebApplication1.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT
保存并退出!!!
四、启动Supervisor服务
命令:supervisord -c /etc/supervisor/supervisord.conf
查看状态:supervisorctl status
检查到有一个应用程序在运行中,说明正常
五、进程的控制
说明:supervisord启动成功后,能够经过supervisorctl客户端控制进程,启动、中止、重启。运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的全部进程。
上图中的WebApplication1就是咱们在配置文件中[program:WebApplication1]指定的名字。
六、bash终端控制
启动:supervisord -c /etc/supervisor/supervisord.conf
supervisorctl status
supervisorctl stop WebApplication1
supervisorctl start WebApplication1
supervisorctl restartWebApplication1
supervisorctl reload
supervisorctl update
七、Web管理界面
说明:出于安全考虑,默认配置是没有开启web管理界面,须要修改supervisord.conf配置文件打开http访权限,将下面的配置修改:
此配置说明个人管理界面是开启的哦,9001端口,咱们来浏览一下地址http://192.168.0.171:9001/
八、开机启动Supervisor服务
首先进入/lib/systemd/system目录,并建立supervisor.service文件,输入代码以下:
[Unit]
Description=supervisor
After=network.target
[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisor/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
保存并退出!!!
修改文件权限
命令:chmod 766 supervisor.service
设置开机启动
systemctl enable supervisor.service
systemctl daemon-reload
以上Supervisor开机服务启动已经好了!!!
交流qq群:18362376