Supervisor的安装以及使用

  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的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序。

  3.配置管理进程

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

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

 

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

    

  4.启动与关闭supervisor

supervisord  -c  /etc/supervisord.conf

  5.订单过期监听

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

 

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

 

  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

 

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

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

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

 config/database.php中redis配置

 

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

 

posted @ 2019-03-26 13:58  欢乐豆123  阅读(400)  评论(0编辑  收藏  举报