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
posted @ 2022-08-22 18:46  李三元  阅读(163)  评论(0)    收藏  举报