supervisor安装及使用

一、安装

1、安装setuptools

	yum install -y python-setuptools

2、源码安装supervisor

	tar -zxf supervisor-3.2.0.tar.gz
    cd supervisor-3.2.0
    python setup.py install
安装过后如果命令找不到:
    1)添加Python的bin目录到环境变量PATH中。
    2)把命令拷贝到/usr/bin/

二、使用

1、修改配置文件

	 vim /etc/supervisord.conf
	 根据需要修改:
	 [unix_http_server]
       file=/tmp/supervisor.sock   ; socket文件的路径,supervisorctl用XML_RPC和supervisord通信就是通过它进行的。如果不设置的话,supervisorctl就不能用了。                      
	 [supervisord]
	   logfile=/tmp/supervisord.log ; supervisor主进程的log输出文件
	   loglevel=info                         ; log输出等级,默认是info
       nodaemon=false                  ; 是否后台启动 ,默认后台启动      
	 [supervisorctl]
		serverurl=unix:///tmp/supervisor.sock ; 这个是supervisorctl本地连接supervisord的时候用到的,
	 [inet_http_server] 
      port=127.0.0.1:10001        ; 通过浏览器访问时的ip:port
	 [include]
	 #当需要管理的进程比较多时,可以每个进程写一个配置文件,放在同一个目录下,
	  然后通过该参数指定目录,supervisor将会识别include,并读取files路径指向的文件。
	 files = /proc_confs/*
	

2、添加需要运行程序的配置

 [program:example]
  command= /bin/cat 
  process_name=%(program_name)s
  umask=022
  autostart=true
  autorestart=true
  startsecs=10
  startretries=5
  user=xxx
  stdout_logfile=/home/xxx/%(program_name)s_out
  stdout_capture_maxbytes=1MB
  stderr_logfile=/home/xxx/%(program_name)s_out
  serverurl=AUTO

3、启动

1)supervisord
启动supervisord服务,并以子进程的形式启动配置的进程。

supervisord  -c /home/xxx/supervisord.conf      -c 指定配置文件的位置,不指定默认查找/etc/supervisord.conf

2)supervisorctl
可以对supervisord中子进程的运行状态进行查看,不仅可以查看同一台主机上的supervisord,也可以查看远程的。

#看需要通过-c 指定配置文件,默认是/etc/supervisord.conf
supervisorctl  status              查看状态
supervisorctl reload               重新载入配置文件
supervisorctl  start [all]|[x]     启动所有/指定的程序进程
supervisorctl  stop [all]|[x]      关闭所有/指定的程序进程 
supervisorctl shutdown             关闭supervisord

4、也可以通过浏览器进行管理

url = xxx.xxx.xxx.xxx:10001

你可能感兴趣的:(python)