标签:使用 shell img ref col tool 启动服务 开机自启 自动
场景:当部署完.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-setuptools
easy_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.conf ExecStop=/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进程安装配置
标签:使用 shell img ref col tool 启动服务 开机自启 自动
原文地址:https://www.cnblogs.com/xiao-sheng/p/11627748.html