supervisord守护进程 笔记
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