目录
 
 
 - 概述
- 环境准备
- 检查python环境
- 在线安装
- 配置Supervisor
- 启动并验证
- 运维命令
概述
 
    Supervisor的安装可以有在线安装和离线安装两种方式。安装方式取决于服务器是否联网,联网的话可采用在线安装,否则采用离线安装。
 
本文仅介绍在线安装方式
 
转帖请注明原贴地址: https://my.oschina.net/u/2342969/blog/2986173
 
环境准备
 
 
 - 最小化安装centos7
- Supervisor3.3.4
- Python 2.4及以上, 注意:不能是python3
检查python环境
 
    一般centos7 自带python,通过 python -V 命令查看
 

 
执行命令结果如图:如果满足环境准备的python版本,则跳过此步,直接进行下一章安装
 
安装python2.7.5
 
#cd /opt/packages
#wget https://www.python.org/ftp/python/2.7.5/Python-2.7.5.tgz
#tar -zxvf Python-2.7.5.tgz
#cd Python-2.7.5
#./configure --prefix=/usr/local --enable-unicode=ucs4 --enable-shared LDFLAGS="-Wl,-rpath /usr/local/lib"
#make && sudo make altinstall
 
在线安装
 
    在线安装又有两种安装方式:
 
 
以上方式均需要服务器可以联网
 
使用Setuptools
 
    安装setuptools
 
#cd /opt/packages
#wget https://files.pythonhosted.org/packages/6e/9c/6a003320b00ef237f94aa74e4ad66c57a7618f6c79d67527136e2544b728/setuptools-40.4.3.zip
#unzip setuptools-40.4.3.zip
#cd setuptools-40.4.3
#python setup.py install
 
    安装supervisor
 
#easy_install supervisor
 
    通过安装日志可以发现安装路径为: /usr/bin/supervisor
 
使用python
 
#cd /opt/packages
#wget https://github.com/Supervisor/supervisor/archive/3.3.4.tar.gz
#tar zxvf 3.3.4
#cd supervisor-3.3.4/
#python setup.py install
 
    通过安装日志可以发现安装路径为: /usr/bin/supervisor
 
配置supervisor
 
    创建配置文件
 
#mkdir -p /etc/supervisor
#mkdir -p /etc/supervisor/conf.d
#echo_supervisord_conf > /etc/supervisor/supervisord.conf
#vim /etc/supervisor/supervisord.conf
 
配置内容如下:
 
# 启用访问web控制界面,inet_http_server区段修改为
[inet_http_server]         
port=*:9001        
# 修改log路径
[supervisord]
logfile=/var/log/supervisord.log
# 修改 unix_http_server file 路径,避免被系统删除
[unix_http_server]
file=/var/lock/supervisor.sock
# 和unix_http_server file保持一致
[supervisorctl]
serverurl=unix:///var/lock/supervisor.sock
# include区段修改为
[include]
files = /etc/supervisor/conf.d/*.conf
 
设置开机服务
 
#vim /etc/rc.d/init.d/supervisord
 
文件内容如下:
 
#!/bin/sh
#
# /etc/rc.d/init.d/supervisord
#
# Supervisor is a client/server system that
# allows its users to monitor and control a
# number of processes on UNIX-like operating
# systems.
#
# chkconfig: - 64 36
# description: Supervisor Server
# processname: supervisord
# Source init functions
. /etc/init.d/functions
RETVAL=0
prog="supervisord"
pidfile="/tmp/supervisord.pid"
lockfile="/var/lock/supervisor.sock"
start()
{
        echo -n $"Starting $prog: "
        daemon --pidfile $pidfile supervisord -c /etc/supervisor/supervisord.conf
        RETVAL=$?
        echo
        [ $RETVAL -eq 0 ] && touch ${lockfile}
}
stop()
{
        echo -n $"Shutting down $prog: "
        killproc -p ${pidfile} /usr/bin/supervisord
        RETVAL=$?
        echo
        if [ $RETVAL -eq 0 ] ; then
                rm -f ${lockfile} ${pidfile}
        fi
}
case "$1" in
  start)
    start
  ;;
  stop)
    stop
  ;;
  status)
        status $prog
  ;;
  restart)
    stop
    start
  ;;
  *)
    echo "Usage: $0 {start|stop|restart|status}"
  ;;
esac
 
保存退出
 
增加开机服务
 
#chmod +x /etc/rc.d/init.d/supervisord
#chkconfig --add supervisord
#chkconfig supervisord on
 
启动服务并验证
 
#service supervisord start
#firewall-cmd --zone=public --add-port=9001/tcp --permanent
#firewall-cmd --reload
 
在浏览器输入 : http://ip:9001 ,查看是否可以正常访问,如果不能请再认真查看上述步骤
 
运维命令
 
# 查看程序状态
 supervisorctl status
 
# 关闭程序
 supervisorctl stop app-name
 
# 启动程序
 supervisorctl start app-name
 
# 重启
 supervisorctl restart app-name
 
# 读取有更新(增加)的配置文件,不会启动新添加的程序
 supervisorctl reread
 
# 重启配置文件修改过的程序
 supervisorctl update