linux centos Supervisor守护.netcore进程安装配置

linux centos Supervisor守护.netcore进程安装配置,第1张

概述 场景:当部署完.netcore程序后 使用dotnet xx.dll 后可以运行,但关闭shell或隔断时间会自动断开,此时部署的.netcore程序就不能访问了,此时需要用到Supervisor了  Supervisor(http://supervisord.org/)是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows

 场景:当部署完.netcore程序后 使用dotnet xx.dll 后可以运行,但关闭shell或隔断时间会自动断开,此时部署的.netcore程序就不能访问了,此时需要用到Supervisor了

 Supervisor(http://supervisord.org/)是用Python开发的一个clIEnt/server服务,是linux/Unix系统下的一个进程管理工具,不支持windows系统。它可以很方便的监听、启动、停止、重启一个或多个进程。用Supervisor管理的进程,当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动恢复的功能,不再需要自己写shell脚本来控制。

1、安装Python

yum install python-setuptoolseasy_install supervisor

2、新建supervisor文件夹

mkdir /etc/supervisor

3、在该目录下,生成supervisord.conf文件

echo_supervisord_conf > /etc/supervisor/supervisord.conf

4、新建conf.d文件夹

mkdir /etc/supervisor/conf.d

此时的目录结构:

 

 

5、编辑supervisord.conf文件,在文件中末尾添加

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

 

 

 

6、在conf.d中添加文件test.conf

文件内容:

[program:testservice] ;程序名称,终端控制时需要的标识command=dotnet test2.dll ; 运行程序的命令directory=/home/website/test/ ; 命令执行的目录autorestart=true ; 程序意外退出是否自动重启stderr_logfile=/var/log/testservice.err.log ; 错误日志文件stdout_logfile=/var/log/testservice.out.log ; 输出日志文件environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量user=root ; 进程执行的用户身份stopsignal=INT
startsecs=1 ; 自动重启间隔

7、指定supervisor配置文件

supervisord -c /etc/supervisor/supervisord.conf

8、Supervisor开机自启动

在目录/usr/lib/systemd/system 中新建文件supervisord.service

 

 

文件内容:

#supervisord.service[Unit] Description=Supervisor daemon[Service] Type=forking ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.confExecStop=/usr/bin/supervisorctl shutdown ExecReload=/usr/bin/supervisorctl reload KillMode=process Restart=on-failure RestartSec=42s[Install] WantedBy=multi-user.target

9、使配置生效

systemctl daemon-reload

  重启supervisor服务
   $ supervisorctl reread
   如果重启的时候报错: 
   error: <class ‘socket.error‘>, [Errno 111] Connection refused: file: /usr/lib64/python2.6/socket.py line: 567
   则说明服务尚未启动,先启动即可:
   sudo supervisord -c /etc/supervisor/supervisord.conf
   sudo supervisorctl -c /etc/supervisor/supervisord.conf
   如果修改了 /etc/supervisord.conf,需要执行 supervisorctl reload 来重新加载配置文件,否则不会生效。

 

10、设置服务开机启动

systemctl enable supervisor.service

 11、验证一下是否为开机启动

systemctl is-enabled supervisord

 12、启动服务

systemctl start supervisor.service

至此完成

 

参考文章:

https://www.cnblogs.com/hobinly/p/7382038.HTML

https://my.oschina.net/lichaoqiang/blog/1861791

https://www.cnblogs.com/sundahua/p/9149692.HTML

https://blog.csdn.net/chivalrousli/article/details/60324140

总结

以上是内存溢出为你收集整理的linux centos Supervisor守护.netcore进程安装配置全部内容,希望文章能够帮你解决linux centos Supervisor守护.netcore进程安装配置所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://www.outofmemory.cn/yw/1022877.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-23
下一篇 2022-05-23

发表评论

登录后才能评论

评论列表(0条)

保存