这个直接安装在root 角色下面,不是在虚拟环境的,虚拟环境知识和程序有关
# 使用 pip 装会出问题的, 最好用yum 安装 可以直接使用 systemctl 会有问题
#sudo pip install supervisor
yum -y install supervisor
这一步是生成supervisor 的配置文件
echo_supervisord_conf > /etc/supervisord.conf
[include]
files = relative/directory/*.ini
修改为
[include]
files = /etc/supervisor/*.conf
这样配置的说明,相当于给这个文件进行扩展了不然太长
mkdir /etc/supervisor
touch yabg.conf
启动的时候就会找到这个文件
[group:tornadoes]
programs=tornado-8000,tornado-8001,tornado-8002
[program:tornado-8000]
command=/home/python/.virtualenvs/tornado_py2/bin/python /home/python/Documents/demo/chat /server.py --port=8000
directory=/home/python/Documents/demo/chat
user=python
autorestart=true
redirect_stderr=true
stdout_logfile=/home/python/tornado.log
loglevel=info
[program:tornado-8001]
command=/home/python/.virtualenvs/tornado_py2/bin/python /home/python/Documents/demo/chat /server.py --port=8001
directory=/home/python/Documents/demo/chat
user=python
autorestart=true
redirect_stderr=true
stdout_logfile=/home/python/tornado.log
loglevel=info
[program:tornado-8002]
command=/home/python/.virtualenvs/tornado_py2/bin/python /home/python/Documents/demo/chat /server.py --port=8002
directory=/home/python/Documents/demo/chat
user=python
autorestart=true
redirect_stderr=true
stdout_logfile=/home/python/tornado.log 存放日志的地方(标准日志输出)
loglevel=info
说明:
command 前面的是python 解释权所在的位置(这里为设置的虚拟的目录位置), 后面是tornado 的 main.py 所在的位置 –port 监听端口
directory 文件所在的目录
user 用户
上面有多个不同端口,直接监听不同的端口
现在来看下生成目前的配置
[yangxiaodong@dev conf.d]$ cat ohho.conf
[program:ohho]
user=www
command=/data/env/yang/bin/python /data/websites/work/main.py
process_name=%(program_name)s ; process_name expr (default %(program_name)s)
numprocs=1 ; number of processes copies to start (def 1)
startretries=2 ;
stopsignal=TERM ; signal used to kill process (default TERM)
redirect_stderr=true ; redirect proc stderr to stdout (default false)
directory=/data/websites/SDevelop/
autostart=true
stdout_logfile = /data/websites/logs/ohho.out
stdout_logfile_maxbytes=100MB
stdout_logfile_backups=10
stderr_logfile = /data/websites/logs/ohho.err
stderr_logfile_maxbytes=100MB
stderr_logfile_backups=10
直接启动报错
systemctl start supervisord.service
Failed to start supervisord.service: Unit not found.
解决办法:
最好使用 yum 安装就可以啦
使用配置文件启动
supervisord -c /etc/supervisord.conf
查看是不是启动了
ps aux | grep supervisord
supervisorctl
我们可以利用supervisorctl来管理supervisor。
supervisorctl
status # 查看程序状态
stop tornadoes:* # 关闭 tornadoes组 程序
start tornadoes:* # 启动 tornadoes组 程序
restart tornadoes:* # 重启 tornadoes组 程序
update # 重启配置文件修改过的程序