supervisord是Linux下一款守护后台进程的软件,可以用在实现消息列队上
一、centos7下安装
1.获取supervisor包:【https://pypi.python.org/pypi/supervisor】
# wget https://pypi.python.org/packages/80/37/964c0d53cbd328796b1aeb7abea4c0f7b0e8c7197ea9b0b9967b7d004def/supervisor-3.3.1.tar.gz
2.解压supervisor-3.3.1.tar.gz 并安装
# tar zxvf supervisor-3.3.1.tar.gz && cd supervisor-3.3.1
# python setup.py install
3【可能报错】:ImportError: No module named setuptools
【解决办法】:没有setuptools的模块,说明python缺少这个模块,那我们只要安装这个模块即可解决此问题
# wget http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz
# tar zxvf setuptools-0.6c11.tar.gz && cd setuptools-0.6c11
# python setup.py build
# python setup.py install
二、使用
1、创建supervisor的配置文件:
# echo_supervisord_conf > /etc/supervisord.conf
(此命令会在etc目录下生成配置文件)
2、打开该配置文件,最底部添加如下代码
[program:php]
command=php think queue:work --queue uploadCacheQueue --daemon --sleep 60 ;
directory=/home/wwwroot/default
;process_name=%(process_num)02d
;numprocs=1
autostart=true ;
autorestart=true ;
startsecs=1 ;
startretries=10 ;
redirect_stderr=true ;
stdout_logfile=/root/supervisor.log ;
(注:其中分号前面还有一个空格,不可省略)
3、开始运行
supervisord -c /etc/supervisord.conf
三、一些常用命令
1、supervisord 关闭
supervisorctl shutdown
2、启动supervisor 用命令
supervisord -c /etc/supervisord.conf
3、重启服务:
supervisorctl reload
4、查看正在守候的进程
supervisorctl
5、停止所有
supervisorctl stop all