Linux下.NET Core进程守护设置,解决SSH关闭后.NET Core服务无法问题

前段时间VPS1352为大家讲解了Linux 部署.NET Core教程,但是之前有一个缺点就是当SSH连接断开后,.NET Core服务就断开了,这种肯定是不行了,今天VPS1352就为大家讲解下.NET Core进程守护问题,教大家一步步设置Linux 下.NET Core的进程守护。

首先需要明确的是我们使用的Linux系统版本为Centos 7,其余Linux 操作系统类似。

安装Supervisor

首先分别执行下面的命令安装Supervisor

yum install python-setuptools

easy_install supervisor

配置Supervisor

使用下面的命令创建supervisor文件

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

然后编辑supervisord.conf文件,将文件结尾处的文件:

[include]
files = relative/directory/*.ini

替换为如下所示:

[include]
[include]files = conf.d/*.conf

保存后退出。

进入 /etc/supervisor/ ,然后创建一个名为"conf.d"的文件夹,然后在改文件夹下创建一个名为"myproject.conf"文件,编辑的内容如下所示:

[program:myproject]
command=dotnet VPS1352-CoreTest.dll ; 运行程序的命令
directory=/ftp/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/myproject.err.log ; 错误日志文件
stdout_logfile=/var/log/myproject.out.log ; 输出日志文件
environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
user=root ; 进程执行的用户身份
stopsignal=INT

然后保存文件退出,注意命令不能写错了。

运行supervisord

先执行下面的命令,运行

supervisord -c /etc/supervisor/supervisord.conf

然后查看supervisord运行状态,输入下面的命令:

ps -ef | grep myproject

然后看到如下效果图说明部署成功了,如下图所示:

Linux 下.NET Core 部署进程守护成功效果图

然后使用下面的命令重新加载配置:

supervisorctl reload

如果修改了myproject.conf文件的配置,那么重新用上面的重新加载命令重新启动就会重新生效。

以上就是Linux下.NET Core开启进程守护的教程,这样就可以解决关闭SSH连接后.NET Core进程不能运行的问题,如果有需要配置Linux .NET Core进程守护的朋友可以参考上面的教程解决。

16

发表回复