安装supervisor
一、安装supervisor所依赖的python包
1、安装easy_install
http://pypi.python.org/packages/source/s/setuptools/setuptools-0.6c11.tar.gz#md5=7df2a529a074f613b509fb44feefe74e
安装命令:python setup.py install
2、安装meld3
下载地址:http://www.plope.com/software/meld3/meld3-0.6.5.tar.gz
安装命令:python setup.py install
二、安装supervisor
http://pypi.python.org/packages/source/s/supervisor/supervisor-3.0a9.tar.gz#md5=81d192acab20eef3578856651af7e851
安装命令:python setup.py install
三、配置supervisor
1、配置文件创建与配置
创建配置文件到目录/etc/下面,输入命令:echo_supervisord_conf > /etc/supervisord.conf
2、修改supervisord.conf
[unix_http_server]
file=/etc/supervisor/supervisor.sock ; (the path to the socket file)
;chmod=0700 ; socket file mode (default 0700)
;chown=nobody:nogroup ; socket file uid:gid owner
;username=user ; (default is no username (open server))
;password=123 ; (default is no password (open server))
[inet_http_server] ; inet (TCP) server disabled by default
port= 0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
username=admin ; (default is no username (open server))
password=123456 ; (default is no password (open server))
[supervisord]
logfile=/etc/supervisor/supervisord.log ; (main log file;default $CWD/supervisord.log)
logfile_maxbytes=50MB ; (max main logfile bytes b4 rotation;default 50MB)
logfile_backups=10 ; (num of main logfile rotation backups;default 10)
loglevel=info ; (log level;default info; others: debug,warn,trace)
pidfile=/etc/supervisor/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:///etc/supervisor/supervisor.sock ; use a unix:// URL for a unix socket
[include]
files = /etc/supervisor/conf.d/*.conf (不知道为什么相对路径不行)
3、新建一个启动配置文件
在目录/etc/supervisor/conf.d/中新建
[program:logistics]
directory = /home/admin/project/java_project/apache-tomcat/bin ; 程序的启动目录
command = /home/admin/project/java_project/apache-tomcat/bin/catalina.sh run ; 启动命令,
autostart = true ; 在 supervisord 启动的时候也自动启动
startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了
autorestart = true ; 程序异常退出后自动重启
startretries = 3 ; 启动失败自动重试次数,默认是 3
user = admin ; 用哪个用户启动
redirect_stderr = true ; 把 stderr 重定向到 stdout,默认 false
stdout_logfile_maxbytes = 20MB ; stdout 日志文件大小,默认 50MB
stdout_logfile_backups = 20 ; stdout 日志文件备份数
stdout_logfile = /home/logist.log ;
environment=JAVA_HOME="/home/admin/basics/jdk1.7.0_79",JAVA_BIN="/home/admin/basics/jdk1.7.0_79/bin";
四、启动supervisor
执行启动命令:supervisord -c /etc/supervisord.conf
查看所管理进程状态:supervisorctl status
web页面打开:按照[inet_http_server]里面的配置
五、常用的命令
启动supervisor命令:supervisord -c /etc/supervisord.conf
关闭supervisor命令:supervisorctl shutdown
重新加载配置文件命令:supervisorctl reload
查看supervisor所管理进程状态命令:supervisorctl status
启动全部文件:supervisorctl start 服务名称
启动全部文件:supervisorctl start all