Supervisor的安装以及使用

时间:2024-09-24 19:03:57

1.supervisor的介绍

Supervisor 是用Python开发的一个client/server服务,是Linux/Unix系统下的一个进程管理工具,不支持Windows系统,通过配置可以实现自动监听进程状态,如果被监听的进程发生异常退出,Supervisor 会尝试再次启动该进程。

2.Supervisor的安装与配置

1)因为Supervisor是Python开发的,安装前先检查一下系统否安装了Python2.4以上版本。下面以CentOS6,Python2.6版本环境下,介绍Supervisor的安装与配置步聚:参考链接为https://www.jianshu.com/p/73a14fc69e51

2)supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序。

Supervisor的安装以及使用

3.配置管理进程

进程管理配置参数,不建议全都写在supervisord.conf文件中,应该每个进程写一个配置文件放在include指定的目录下包含进supervisord.conf文件中。

1)创建/etc/supervisor/config.d目录,用于存放进程管理的配置文件

Supervisor的安装以及使用

2)修改/etc/supervisor/supervisord.conf中的include参数,将/etc/supervisor/conf.d目录添加到include中

Supervisor的安装以及使用

4.启动与关闭supervisor

supervisord  -c  /etc/supervisord.conf

5.订单过期监听

安装Supervisor加入订单过期监听命令

Supervisor的安装以及使用

supervisor 命令说明(program_name=你配置中写的程序名称),执行命令:vi sass_snap_order_cancel.ini

Supervisor的安装以及使用

6.bash终端

supervisorctl reload 更新supervisorctl.conf

supervisorctl update 更新配置需要守护配置 conf.d.ini

supervisorctl status 查看守护的进程状态

supervisorctl stop program_name 停止某一进程 显示用stop停止掉的进程,用reload或者update都不会自动重启。

supervisorctl start program_name 启动某个进程

supervisorctl restart program_name 重启某一进程

supervisorctl stop all 停止全部进程

7.安装以及使用过程中出现的问题

1)no such process

Supervisor的安装以及使用

 分析:安装的时候没有写config 目录,默认配置目录不是在/etc/supervisor 上的

 解决办法:find / -name supervisor.sock  找到这个文件,删除(unlink)它,再执行启动命令supervisord -c /etc/supervisor/supervisord.conf

2)如果是配合在laravel框架项目中使用redis键过期通知机制的话,应注意相关配置是否开启

config/database.php中redis配置

Supervisor的安装以及使用

控制台中模型文件handle方法中进行设置

Supervisor的安装以及使用