tornado centos下使用 supervisor

一、安装:

1. pip install supervisor   或者 yum install supervisor -y
2. 创建文件目录:mkdir /etc/supervisor/conf.d -p  (路径一)
3. 进入etc目录:cd /etc
4. 生成配置文件:echo_supervisor_conf > supervisord.conf


二、配置:

5. 修改配置文件:vim supervisord.conf
   如果你不需要自定义一些日志路径,或修改用户,那么只要修改最后两行即可
    [include]  # 打开注释
    files = /etc/supervisor/conf.d/*.ini  # (路径一目录下)加载该路径下的所有.ini结尾的配置文件,当然你也可以使用后缀为.conf,只要files配置和你实际文件名后缀一致即可


三、添加启动配置:

6. 进入个人配置路径:cd /etc/supervisor/conf.d
7. 创建配置tornado.ini (这里的文件后缀和你配置的files要一致,否则不会被执行)
    [group:tornadoes]
    programs=tornado-0,tornado-1,tornado-2,tornado-3

    [program:tornado-0]
    command=python3.6 python3 /home/caddok/projects/chat/server.py --port=8000
    directory=/home/caddok/projects/chat
    user=root
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/home/caddok/projects/chat/tornado.log
    loglevel=info

    [program:tornado-1]
    command=python3 /home/caddok/projects/chat/server.py --port=8001
    directory=/home/caddok/projects/chat
    user=root
    autorestart=true
    redirect_stderr=true
    stdout_logfile=/home/caddok/projects/chat/tornado.log
    loglevel=info
 #说明:1. 最好先测试下你的启动命令是否可以正常启动;
        2. user和你当前用户一致即可(我是root登录的)
        3.日志路径根据需求自定义

四、启动测试

启动:supervisord -c /etc/supervisord.conf   # 通过指定配置文件启动,没有报错即是正常

执行:supervisorctl  # 会看到已经启动的子程序,如果啥也没看到,请检查supervisord.conf后两行,是否都取消了注释,配置文件加载路径以及后缀名是否一致



重启报错:
    Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
For help, use /home/caddok/virtualenvs/chat/bin/supervisord -h

    解决:unlink /tmp/supervisor.sock  (这个路径是在supervisord.conf中,默认是/tmp/下,如果你有修改,改成自己的即可)

五、相关命令

supervisor有supervisord和supervisorctl两种命令类型:

supervisord是服务相关的命令
supervisorctl是客户端相关的命令
supervisor涉及的状态主要有

running:进程处于运行状态
starting:Supervisor 收到启动请求后,进程处于正在启动过程中
stopped:进程处于关闭状态
stopping:Supervisor 收到关闭请求后,进程处于正在关闭过程中
backoff:进程进入 starting 状态后,由于马上就退出导致没能进入 running 状态
fatal:进程没有正常启动
exited:进程从 running 状态退出

常用的命令如下:

#关闭所有任务
supervisorctl shutdown 
# 启动某个进程
supervisorctl start programxxx
# 重启某个进程
supervisorctl restart programxxx
# 停止全部进程 注:start、restart、stop都不会载入最新的配置文件
supervisorctl stop all
# 载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
supervisorctl reload
# 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
supervisorctl update

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值