supervisor

# supervisor的使用

## 安装

``` bash
# 使用pip来安装,目前supervisor只支持在python2.x环境下
pip install supervisor
# 也可以通过系统自带的包管理工具来安装
yum install supervisor
apt install supervisor
```

安装完成以后,通过命令行查看一下版本。

```bash
supervisord --version
```

看一下supervisor有哪些命令:

```
supervisord    # 启动服务
supervisorctl    # 启动客户端
echo_supervisord_conf    # 输出配置文件
```

## 配置

首先查看一下/etc/supercisord.conf文件是否存在,如果不存在,则使用下面的命令创建:

```bash
echo_supervisord_conf > /etc/supervisord.conf
```

> 该配置文件以分号(;)作为注释

surpervisor查找配置文件的顺序是这样的:

```
/usr/etc/supervisord.conf
/usr/supervisord.conf
./supervisord.conf,
./etc/supervisord.conf
/etc/supervisord.conf
/etc/supervisor/supervisord.conf
```

如果在以上目录都未能查找到配置文件则supervisor启动失败

我们可以手动指定配置文件的路径

```
supervisord -c /tmp/supervisord.conf
```

## 配置文件

```ini
[unix_http_server]
; 服务器socket文件路径
file=/tmp/supervisor.sock
[supervisord]
; 日志文件路径
logfile=/tmp/supervisord.log
; 进程ID文件路径
pidfile=/tmp/supervisord.pid
; 定义了一个名为tinyproxy的程序
[program: tinyproxy]
; command后面就是启动这个程序的具体的命令
command=tail -f /var/log/tinyproxy/tinyprox.log
```

##  使用客户端连接

连接上supervisor控制台

```supervisorctl```

再输入reload命令

或者直接重新启动supervisor

```bash
# 它会重启supervisor内所有的程序
supervisorctl reload
```

如果只是修改了program的配置,可以使用update命令

```
supervisorctl update
```

其他的客户端子命令

```
# 查看所有的程序的状态
supervisorctl status
# 查看程序的标准输出
supervisorctl tail [program_name]
supervisorctl tail -f [program_name]
# 启动、停止、重启相关程序
supervisorctl [start|stop|restart] [program_name]
```

```ini
; 命令格式[program:程序名称]
[program:discovery1]
; 实际要运行的命令,注意命令的路径要写全
command=/Users/guye/workspace/qf/lesson/hz1801/xpc/env/bin/scrapy crawl discovery
; 你运行命令的时候所在的目录
directory=/Users/guye/workspace/qf/lesson/hz1801/xpc
; 把stderr(报错信息)重定向至标准输出
redirect_stderr=true         
; 把标准输出重定向到/tmp/discovery1.log文件
stdout_logfile=/tmp/discovery1.log     

; 定义一个程序组
[group:spiders]
# 定义该组有哪些程序,对应上面program的名字
programs=discovery1,discovery2,discovery3
```

进程管理的一些命令

```ini
;启动单个程序
supervisorctl start spiders:discovery1
;启动一组程序
supervisorctl start spiders:*
;启动所有程序
supervisorctl start all

```





## 网页客户端

也可以通过见面客户端去管理程序,注意,要先打开配置文件内的注释。

```ini
[inet_http_server]    
; 绑定的IP和端口
port=127.0.0.1:9001   
;用户名和密码
username=user              
password=123               
```

重启一下supervisord服务端

```
supervisorctl relaod
```

访问下面的地址:

http://127.0.0.1:9001/

用户名:user

密码:123



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值