一、准备一台Linux主机

略过

二、安装Supervisor

1、easy_install 安装:

easy_install supervisor

2、pip 安装:

pip install supervisor

3、apt-get安装

apt-get install supervisor

PS:先apt-get update后再用上边命令,否则会出E: Unable to locate package supervisor错误

supervisor安装完成后会生成三个执行程序:

/usr/bin/echo_supervisord_conf #生成初始配置文件程序

/usr/bin/supervisorctl # 客户端(用于和守护进程通信,发送管理进程的指令)

/usr/bin/supervisord # supervisor的守护进程服务(用于接收进程管理命令)

三、配置

运行supervisord服务的时候,需要指定supervisor配置文件,如果没有显示指定,默认在以下目录查找:

$CWD/supervisord.conf

$CWD/etc/supervisord.conf

/etc/supervisord.conf

/etc/supervisor/supervisord.conf (since Supervisor 3.3.0)

../etc/supervisord.conf (Relative to the executable)

../supervisord.conf (Relative to the executable)

$CWD表示运行supervisord程序的目录。

如果配置文件不在以上目录,则运行supervisord -c /etc/supervisor/supervisord.conf指定配置文件

可以通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示:

新建supervisor目录

mkdir /etc/supervisor

初始化supervisor配置

echo_supervisord_conf > /etc/supervisor/supervisord.conf

PS:apt-get install 安装的supervisor不需要以上新建和初始化步骤

vi /etc/supervisor/supervisord.conf

修改内容:

[unix_http_server]

file=/tmp/supervisor.sock ; the path to the socket file

 

[inet_http_server] ; inet (TCP) server disabled by default

port=0.0.0.0:9008 ; ip_address:port specifier, *:port for all iface

username=user ; default is no username (open server)

password=123 ; default is no password (open server)

 

[supervisord]

logfile=/tmp/supervisord.log ; main log file; default $CWD/supervisord.log

logfile_maxbytes=50MB ; max main logfile bytes b4 rotation; default 50MB

logfile_backups=10 ; # of main logfile backups; 0 means none, default 10

loglevel=info ; log level; default info; others: debug,warn,trace

pidfile=/tmp/supervisord.pid ; supervisord pidfile; default supervisord.pid

nodaemon=false ; start in foreground if true; default false

minfds=1024 ; min. avail startup file descriptors; default 1024

minprocs=200 ; min. avail process descriptors;default 200

 

[rpcinterface:supervisor]

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

 

[supervisorctl]

serverurl=unix:///tmp/supervisor.sock ; use a unix:// URL for a unix socket

 

[include]

files = /etc/supervisor/config.d/*.ini

新建进程配置文件目录:

mkdir /etc/supervisor/config.d

PS:apt-get install 安装的supervisor不需要以上新建步骤

以tomcat为例新建配置文件

vi /etc/supervisor/config.d/tomcat.ini

新增:

[program:tomcat]

command=/home/tomcat/bin/catalina.sh run

stdout_logfile=/home/tomcat/logs/catalina.out

autostart=true

autorestart=true

startsecs=5

priority=1

stopasgroup=true

killasgroup=true

四、运行

1、apt-get install 安装的supervisor直接可以通过 /etc/init.d/supervisor 运行:

/etc/init.d/supervisor start

2、通过easy_install 或者pip安装的supervisor通过/usr/bin/目录下的supervisord 运行:

cd /usr/bin

supervisord