您现在的位置是:网站首页>编程语言

Centos 7.6 上部署NET CORE 3.1程序【Supervisor安装配置篇】

编程语言阿文2021年1月14日2099浏览

简介在linux中web应用部署到线上后之后发现退出终端后网站就无法访问了,即便是用了在启动站点末尾增加&符号启动,服务器重启或者站点异常挂掉后网站就无法访问。所以需要守护进程来保证程……

        在linux中web 应用部署到线上后之后发现退出终端后网站就无法访问了,即便是用了在启动站点末尾增加&符号启动,服务器重启或者站点异常挂掉后网站就无法访问。所以需要守护进程来保证程序挂掉后能启动起来,它可以保证应用一直处于运行状态,在遇到程序异常、报错等情况,导致 web 应用终止时,需要保证程序可以立刻重启,继续提供服务。

守护进程有多种,我这里用用Supervisor来守护进程。

第一步安装supervisor

1.执行安装命令

yum install supervisor

执行cat /etc/supervisord.会发现etc多了一个文件和一个目录

/etc/supervisord.conf为主配置文件,一般不建议把其它进程写进主配置文件

/etc/supervisord.d目录即为放置其他进程配置文件的目录

查看/etc/supervisor.conf文件最后一行

x8

这句话意思是配置文件加载时会加载supervisord.d目录下后缀名是ini的文件,我这里使用的是.conf后缀的文件,这里我改成 files=supervisord.d/*.conf

第二步为我们的站点程序配置守护进程

具体配置为:

[program:NetCoreWeb]
command=dotnet NetCoreWeb.dll --urls="http://localhost:5000" ;#要执行的命令  
#也可以这样写:command=dotnet NetCoreWeb.dll --urls="http://*:8001" --port=8001
directory=/data/web/NetCoreWeb/ ;#命令执行的目录
environment=ASPNETCORE__ENVIRONMENT=Production ;#环境变量
user=root  ;#进程执行的用户身份
stopsignal=INT
autostart=true ;#是否自动启动
autorestart=true ;#是否自动重启
startsecs=1 ;#自动重启间隔
stderr_logfile=/var/log/supervisorLog/NetCoreWeb.err.log ;#标准错误日志
stdout_logfile=/var/log/supervisorLog/NetCoreWeb.out.log ;#标准输出日志

第三步启动supervisor

执行命令:

supervisord -c /etc/supervisord.conf

supervisorctl -c /etc/supervisord.conf


第四步配置supervisord为开机自启动

1.首先执行命令

systemctl is-enabled supervisord

2.在shell里执行命令

vim  /lib/systemd/system/supervisord.service 

编辑开机启动时执行的脚本如下

[Unit]
Description=Process Monitoring and Control Daemon
After=rc-local.service nss-user-lookup.target

[Service]
Type=forking
ExecStart=/usr/bin/supervisord -c /etc/supervisord.conf 
ExecStop=/usr/bin/supervisorctl shutdown 
ExecReload=/usr/bin/supervisorctl reload
killMode=process Restart=on-failure RestartSec=42s [Install] WantedBy=multi-user.target

3.执行开机启动命令

systemctl enable supervisord

验证一下是否为开机启动

systemctl is-enabled supervisord

最后确定守护进程是否起作用,确定系统可以重启的情况下执行命令

reboot #(普通重启) 

 shutdown -r now #立刻重启(root用户使用)

然后重新连接服务器,执行命令查看supervisor是否已正常启动

ps aux| grep supervisor


本人安装supervisor 参考了以下博主的文章,少走了很多弯路

https://www.cnblogs.com/ruanraun/p/supervisor.html


标签: Centos

1

评论文明上网,理性发言0条评论