前段时间VPS234为大家讲解了Linux 部署.NET Core教程,但是之前有一个缺点就是当SSH连接断开后,.NET Core服务就断开了,这种肯定是不行了,今天VPS234就为大家讲解下.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 VPS234-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
然后看到如下效果图说明部署成功了,如下图所示:
然后使用下面的命令重新加载配置:
supervisorctl reload
如果修改了myproject.conf文件的配置,那么重新用上面的重新加载命令重新启动就会重新生效。
以上就是Linux下.NET Core开启进程守护的教程,这样就可以解决关闭SSH连接后.NET Core进程不能运行的问题,如果有需要配置Linux .NET Core进程守护的朋友可以参考上面的教程解决。