前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >supervisor安装和使用

supervisor安装和使用

作者头像
苦咖啡
发布2018-04-28 13:26:56
9370
发布2018-04-28 13:26:56
举报
文章被收录于专栏:我的博客我的博客

1.介绍

Supervisor (http://supervisord.org) 是一个用 Python 写的进程管理工具,可以很方便的用来启动、重启、关闭进程(不仅仅是 Python 进程)。除了对单个进程的控制,还可以同时启动、关闭多个进程,比如很不幸的服务器出问题导致所有应用程序都被杀死,此时可以用 supervisor 同时启动所有应用程序而不是一个一个地敲命令启动。

2.Ubuntu14.04安装

代码语言:javascript
复制
sudo apt-get install supervisor

3.配置说明

代码语言:javascript
复制
[program:test]  #
directory = /data/test/ ;程序的启动目录
command = php test.php  ;执行命令
autostart = true        ;在 supervisord 启动的时候也自动启动
startsecs = 5           ;启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true      ; 程序异常退出后自动重启
startretries = 3        ; 启动失败自动重试次数,默认是 3
user = root             ; 用哪个用户启动
redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20     ; stdout 日志文件备份数
stdout_logfile = /data/logs/usercenter_stdout.log   ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
process_name        ;进程名,可以使用%(program_name)s
numprocs            ;启动进程数%(process_num)s 从0开始
[group:testgroup]
programs=test       ;任何在[program:x]中定义的x

4.使用案例

代码语言:javascript
复制
[program:test]
directory = /data/test/
command= /usr/bin/php  test.php %(program_name)s %(process_num)s
process_name=%(program_name)s-%(process_num)s
numprocs=5
autostart=true
autorestart=true
redirect_stderr = true
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=20
stdout_logfile=/data/logs/supervisor/test.log
[group:testgroup]
programs=test

5.备注

test.php内容如下

代码语言:javascript
复制
<?php
while(1) {
echo rand(1000,9999) . PHP_EOL;
}

        6.命令

代码语言:javascript
复制
### 常用命令
查看程序状态
sudo supervisorctl status
读取新增配置(不启动)
sudo supervisorctl reread
重启配置更改过的程序
sudo supervisorctl update
### 控制所有进程
sudo supervisorctl start all
sudo supervisorctl stop all
sudo supervisorctl restart all
### 控制指定进程
sudo supervisorctl stop testgroup:* 
sudo supervisorctl start testgroup:*
sudo supervisorctl restart testgroup:*
sudo supervisorctl stop test
sudo supervisorctl start test
sudo supervisorctl restart test
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017年6月3日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档