.Net Core 项目发布到CentOS8上能够正常运行,但是退出了XShell,进程就结束,网站不能访问报502错误。那么我们就需要安装一个进程守护工具,这里我也使用的是Supervisor。
supervisor是什么,有什么作用
-
一个Linux/Unix系统上的进程监控工具
-
一个Python开发的通用的进程管理程序
-
可以管理和监控Linux上面的进程
-
能将一个普通的命令行进程变为后台daemon,并监控进程状态,异常退出时能自动重启
-
不过同daemontools一样,它不能监控daemon进程
supervisor安装
以前用的CentOS7.2系统中使用的是python2.6,新的服务器中是python3,我不知道是否能够顺利安装Supervisor。网上资料说是python3不兼容Supervisor,但是有解决办法。我安装以前的安装方法并没有遇到什么问题,一切正常安装使用,这次在CentOS8中安装Supervisor也没有遇到其他问题,可能是运气比较好吧。
-
执行安装命令
$ yum install python-setuptools $ easy_install supervisor
执行安装命令yum install python-setuptools
执行安装命令easy_install supervisor
-
创建文件夹及文件(自定义配置Supervisor)
$ mkdir /etc/supervisor $ echo_supervisord_conf > /etc/supervisor/supervisord.conf
-
修改配置文件
通过第二步我们已经有了supervisord.conf配置文件,我们这里还需要创建一个conf.d文件夹,在这个文件夹中创建监控配置文件,我这里是Yzm.conf
目录结构
在这里,我们需要修改一下supervisord.conf配置文件,我们需要修改最下面,修改为我们创建的conf.d,去掉前面的分号,最终结果如下图
-
加入监控配置
[program:Yzm] command=dotnet LKB.Yzm.dll directory=/www/wwwroot/yzm autorestart=true stderr_logfile=/www/wwwlogs/LKB.Yzm.err.log stdout_logfile=/www/wwwlogs/LKB.Yzm.out.log environment=ASPNETCORE_ENVIRONMENT=Production user=root stopsignal=INT autorestart=true startsecs=1
conf.d 文件夹目录
监控配置Yzm.conf文件内容
-
执行运行命令
$ supervisord -c /etc/supervisor/supervisord.conf
执行supervisord运行命令
-
执行supervisord是否运行成功命令
ps aux | grep supervisord
supervisord运行成功效果
通过以上,我们的监护程序已经配置完成,能够保证.Net Core网站正常运行了。当然,supervisord还有很多的配置,比如开机启动等,如果有需要自己去查询了。
;