为什么80%的码农都做不了架构师?>>>
一、安装
- 源码安装
先下载最新的supervisor安装包:https://pypi.python.org/pypi/supervisor , 如:
代码语言:javascript复制cd /usr/local/src
wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419eae/supervisor-3.3.2.tar.gz
tar -zxvf supervisor-3.3.2.tar.gz
cd supervisor-3.3.2
python setup.py install #本地python版本为python2.7
# python2.7 setup.py install #本地python版本为python3以上
二、配置
1.生成配置文件
代码语言:javascript复制echo_supervisord_conf > /etc/supervisord.conf
2.启动
代码语言:javascript复制supervisord -c /etc/supervisord.conf
查看 supervisord 是否在运行:
代码语言:javascript复制ps aux | grep supervisord
3.配置
打开配置文件
代码语言:javascript复制vim /etc/supervisord.conf
在配置文件底部,配置include
代码语言:javascript复制[include]
files=/etc/supervisor/*.conf #若你本地无/etc/supervisor目录,请自建
用supervisor管理进程,配置如下:
代码语言:javascript复制cd /etc/supervisor
vim ossfs.conf # 这里的文件名称自定义
加入以下内容:
代码语言:javascript复制; 设置进程的名称,使用 supervisorctl 来管理进程时需要使用该进程名
[program:your_program_name]
command=python server.py --port=9000
;numprocs=1 ; 默认为1
;process_name=%(program_name)s ; 默认为 %(program_name)s,即 [program:x] 中的 x
directory=/home/python/tornado_server ; 执行 command 之前,先切换到工作目录
user=oxygen ; 使用 oxygen 用户来启动该进程
; 程序崩溃时自动重启,重启次数是有限制的,默认为3次
autorestart=true
redirect_stderr=true ; 重定向输出的日志
stdout_logfile = /var/log/supervisord/tornado_server.log
loglevel=info
这里是启动要配置的参数,请根据自己的项目自定义添加
更改了supervisor配置文件,需要重启,运行以下指令:
代码语言:javascript复制supervisorctl reload
4.supervisorctl的用法
代码语言:javascript复制supervisord : 启动supervisor
supervisorctl reload :修改完配置文件后重新启动supervisor
supervisorctl status :查看supervisor监管的进程状态
supervisorctl start 进程名 :启动XXX进程
supervisorctl stop 进程名 :停止XXX进程
supervisorctl stop all:停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
5.若不使用控制台来管理进程,用浏览器来管理,该如何配置?
打开配置文件
代码语言:javascript复制vim /etc/supervisord.conf
配置 inet_http_server
代码语言:javascript复制[inet_http_server]
port=127.0.0.1:9001 ; 服务器ip
username=xxx ;自定义
password=xxx ;自定义