Linux 进程守护部署
一、安装dotnet 环境
#安装.NET SDK
sudo yum install dotnet-sdk-6.0
#安装运行时
sudo yum install aspnetcore-runtime-6.0
#检查是否安装成功
dotnet --info
#查看所有命令
dotnet -h
二、安装进程守护软件
1.安装
#Supervisor 安装
yum install supervisor
#安装成功后,会生成 /etc/supervisord.conf 配置文件和 /etc/supervisord.d/ 目录。我们也可以使用下面命令查看 supervisor 是否安装成功:
ps -aux | grep supervisord
2.可视化界面配置
vi /etc/supervisord.conf` 进行配置文件的编辑,主要修改下面两处:
1、修改 inet_http_server 节点,该节点配置好后,可以有图形化界面来对进程进行维护。

2、修改配置文件最后的 [include] 节点,默认情况下为 ini 文件,修改为 conf
[include]
files = supervisord.d/*.conf
3、启动启动 服务
supervisord -c /etc/supervisord.conf

三、添加需要被守护的程序
编写一个 .NET Core 程序,将发布后的目录复制到服务器上,比如目录为:/home/project/src
在 /etc/supervisord.d/ 目录中添加 test.conf 文件,内容如下:
[program:WebApplicationTest]
command=dotnet WebApplicationTest.dll
directory=/home/project/src
environment=ASPNETCORE_ENVIRONMENT=Development
user=root
stopsignal=INT
autostart=true
autorestart=true
startsecs=1
- command:启动程序执行的命令
- autostart:supervisord 启动时是否启动程序
- autorestart:程序异常退出后是否自动重启
- startsecs: 自动重启间隔
- stderr_logfile:错误日志
- stdout_logfile:正常执行中的日志
- environment:指定环境变量
- user:以什么用户运行
四、常用命令
# 启动Supervisor服务
supervisord -c /etc/supervisord.conf
# 查看进程启动情况
ps aux | grep supervisord
# 查看所有服务的状态
supervisorctl status
# 重新加载配置文件,新加的服务会启动,原服务会重启
supervisorctl reload
# 重新加载配置文件,新加的服务会启动,原服务不会重启
supervisorctl update
# 启动指定的服务 demoserver
supervisorctl start demoserver
# 重启指定的服务 demoserver
supervisorctl restart demoserver
# 停用指定的服务 demoserver
supervisorctl stop demoserver
# 启动所有服务
supervisorctl start all
# 重启所有服务
supervisorctl restart all
# 停用所有服务
supervisorctl stop all

浙公网安备 33010602011771号