当前位置: 移动技术网 > IT编程>开发语言>.net > Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护

Linux服务器部署.Net Core笔记:四、安装Supervisor进程守护

2019年12月19日  | 移动技术网IT编程  | 我要评论

云和房产,北京金逸影城,alcatel官网

supervisor 是用 python 开发的 linux/unix 系统下的一个进程管理工具。它可以使进程脱离终端,变为后台守护进程(daemon)。实时监控进程状态,异常退出时能自动重启。

supervisor 不支持任何版本的 window 系统;仅支持在 python2.4 或更高版本,但不能在任何版本的 python 3 下工作。

联网状态下,官方推荐首选安装方法是使用easy_install,它是setuptools(python 包管理工具)的一个功能。所以先执行如下命令安装 setuptools:yum install python-setuptools

然后执行如下命令安装 supervisor:easy_install supervisor

输入命令查看配置文件模板来验证安装:echo_supervisord_conf

接着通过如下命令创建目录,这目录是为了让 supervisor 加载默认配置用的目录:mkdir /etc/supervisor

加载目录有了,然后通过echo_supervisord_conf程序(用来生成初始配置文件)来初始化一个配置文件:echo_supervisord_conf > /etc/supervisor/supervisord.conf

打开新的配置文件修改:vi /etc/supervisor/supervisord.conf

将底部的:

;[include]
;files = relative/directory/*.ini

修改为:

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

这样supervisord加载时就会自动加载/etc/supervisor/conf.d目录下,所有扩展名为.conf的配置文件。

通过命令进入/conf.d目录:cd /etc/supervisor/conf.d

创建并写入配置信息:vi testweb.conf

[program:testweb]
command= dotnet testweb.dll --urls="http://*:8080"
directory= /home/vsftpd/lk_ftp/testweb
autostart=true
autorestart=true
startretries=5
startsecs=1
user=root
priority=999
stderr_logfile=/var/log/webapplication1.err.log
stdout_logfile=/var/log/webapplication1.out.log
environment=aspnetcore_environment=production
stopsignal=int

program:自定义进程名称
command:程序启动命令
directory:命令执行的目录,即项目部署路径
autostart:在supervisord启动时,程序是否启动
autorestart:程序退出后自动重启
startretries:启动失败自动重试次数,默认是3
startsecs:自动重启间隔
user:设置启动进程的用户,默认是root
priority:进程启动优先级,值小的优先启动
stderr_logfile:标准错误日志
stdout_logfile:标准输出日志
environment:进程环境变量
stopsignal:请求停止时用来杀死程序的信号

完成配置后就可以启动supervisor 服务了:supervisord -c /etc/supervisor/supervisord.conf

每次修改配置文件后,都要执行重启命令,这里要注意,因为没有环境变量,这种命令都要在supervisor安装目录里执行。

查看是否生效:ps -ef | grep dotnet

进入/usr/lib/systemd/system目录,配置supervisor开机启动:cd /usr/lib/systemd/system

新建一个“supervisord.service”文件写入配置:vi supervisord.service

# supervisord service for systemd (centos 7.0+)
# by et-cs (https://github.com/et-cs)
[unit]
description=supervisor daemon

[service]
type=forking
execstart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
execstop=/usr/bin/supervisorctl $options shutdown
execreload=/usr/bin/supervisorctl $options reload
killmode=process
restart=on-failure
restartsec=42s

[install]
wantedby=multi-user.target

设置为随系统自动启动:systemctl enable supervisor

 

执行命令来验证是否为开机启动:systemctl is-enabled supervisord

 

如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复

相关文章:

验证码:
移动技术网