asp.net core2 Centos上配置守护服务(Supervisor)

上一篇我们存在三个文件

问题1:ASP.NET Core应用程序运行在shell之中,如果关闭shell则会发现ASP.NET Core应用被关闭,从而导致应用无法访问,这种情况当然是我们不想遇到的,而且生产环境对这种情况是零容忍的。

问题2:如果ASP.NET Core进程意外终止那么需要人为连进shell进行再次启动,往往这种操作都不够及时。

问题3:如果服务器宕机或需要重启我们则还是需要连入shell进行启动

为了解决这个问题,我们需要有一个程序来监听ASP.NET Core 应用程序的状况。在应用程序停止运行的时候立即重新启动。这边我们用到了Supervisor这个工具,Supervisor使用Python开发的。

安装Supervisor

yum install python-setuptools

easy_install supervisor

配置Supervisor

mkdir /etc/supervisor

echo_supervisord_conf > /etc/supervisor/supervisord.conf

将文件尾部的配置

#进入目录
cd /etc/supervisor/

#打开文件 vi supervisord.conf
[program:OneHopeProject]
command=dotnet TestAspNetCoreWeb.dll
directory=/root/www/Demo1
autorestart=true
stderr_logfile=/var/log/TestAspNetCoreWeb.err.log
stdout_logfile=/var/log/TestAspNetCoreWeb.out.log
environment=ASPNETCORE_ENVIRONMENT=Production
user=root
stopsignal=INT

在文件的末尾加入以上代码然后用:wq保存,可以另外存放一个配置文件,那样配置方式又不一样了。注意文件的路径,我就是被这个路径坑了好久,可以到对于的文件夹下看错误的日志。

运行supervisord,查看是否生效

supervisord -c /etc/supervisor/supervisord.conf

ps -ef | grep WebApplication1

如果没生效,则用

#更新新的配置到supervisord
supervisorctl reload

 #重新启动配置中的所有程序

  supervisorctl update

 
 

 至此关于ASP.NET Core应用程序的守护即配置完成。

 

常用命令

# 查看所有action
supervisorctl help

# 控制所有进程
supervisorctl start all
supervisorctl stop all
supervisorctl restart all

# 控制目标进程
supervisorctl stop shadowsocks
supervisorctl start shadowsocks
supervisorctl restart shadowsocks

 

转载于:https://www.cnblogs.com/LonelyCode/p/9070113.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值