supervisor守护进程工具

那年仲夏 提交于 2020-01-17 17:08:45

环境

centos7.x
### 必须需要2.7+版本python centos7 默认自带
# 需要用到easy_install命令,假如你是centos6.x,那你需要安装对应版本
python2.7.5

安装

很简单执行以下命令就能完成安装,很快

easy_install supervisor

安装完成后会生成以下命令,可以直接使用

/usr/bin/echo_supervisord_conf
/usr/bin/pidproxy 
/usr/bin/supervisorctl 
/usr/bin/supervisord 

使用

初始化配置

使用命令echo_supervisord_conf

## conf.d 文件得作用为了不破坏主配置文件完整性和结构性而存在得。有点模块化得味道。不用我多介绍了吧。后续所有应用脚本全部配置在此目录下,所有配置以.conf为后缀
mkdir -p /etc/supervisor/conf.d
# 此命令将配置写入supervisord.conf 这个文件
echo_supervisord_conf > /etc/supervisor/supervisord.conf

然后编辑supercisord.conf末尾添加如下配置,指向conf.d目录

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

然后启动 supervisor应用,当然你也可以配置开机启动

supervisord -c /etc/supervisor/supervisord.conf
为应用程序添加配置
cd /etc/supervisor/conf.d
touch filebeat.conf
vim filebeat.conf
[program:filebeat] ;程序名称,终端控制时需要的标识
command=filebeat -c -e filebeat.yml ; 运行程序的命令
directory=/home/www/software/filebeat/ ; 命令执行的目录
autorestart=true ; 程序意外退出是否自动重启
stderr_logfile=/var/log/filebeat.err.log ; 错误日志文件
stdout_logfile=/var/log/filebeat.out.log ; 输出日志文件
environment=SERVER_IP="127.0.0.1",SERVER_NAME="service_pay" ; 进程环境变量,多个变量以逗号隔开。
user=root ; 进程执行的用户身份
stopsignal=INT

这样就配置好了一个应用得守护进程

启停命令

supervisorctl restart <application name> ;重启指定应用
supervisorctl stop <application name> ;停止指定应用
supervisorctl start <application name> ;启动指定应用
supervisorctl restart all ;重启所有应用
supervisorctl stop all ;停止所有应用
supervisorctl start all ;启动所有应用

当然centos7.x 已经有一套自己得系统级别得守护进程模板systemctl。可以参考我另外一篇文章
seata配置守护进程运行

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!