supervisor安装配置

Supervisord是一个守护进程的工具,当进程意外终止或服务器掉电起来后,希望进程能够自动运行,supervisord可以很好的为我们做这件事情。同时supervisord也自带监控界面,可以通过浏览器灵活的查看、操作。
方式一:

  1. pip3 install supervisor
  2. //在没安装python3情况下,出现pip: command not found...
  3. //1.wget https://bootstrap.pypa.io/get-pip.py
  4. //2.python get-pip.py
  5. mkdir -p /etc/supervisor/
  6. echo_supervisord_conf > /etc/supervisord.conf
  7. echo_supervisord_conf > /etc/supervisor/supervisord.conf

方式二:(比较简单)

  1. yum install epel-release
  2. yum install -y supervisor
  3. systemctl enable supervisord
  4. systemctl start supervisord
  5. systemctl stop supervisord
  6. systemctl restart supervisord
  7. 安装好,会在etc下生成supervisord.confsupervisord.d目录

找到相应行并修改

  1. # 开启web管理界面
  2. [inet_http_server] ; inet (TCP) server disabled by default
  3. port=*:你的端口 ; ip_address:port specifier, *:port for all iface
  4. username=你的用户名 ; default is no username (open server)
  5. password=你的密码 ; default is no password (open server)
  6. # 杀干净子进程
  7. stopasgroup=true
  8. killasgroup=true
  9. # 具体配置文件路径
  10. [include]
  11. files=/etc/supervisor/MY*.conf

设置需要守护的程序MYscrapyd.conf

  1. [program:scrapyd] ;程序名
  2. directory = / ; 程序的启动目录
  3. command = scrapyd ; 启动命令,可以看出与手动在命令行启动的命令是一样的
  4. autostart = true ; supervisord 启动的时候也自动启动
  5. startsecs = 5 ; 启动 5 秒后没有异常退出,就当作已经正常启动了
  6. autorestart = true ; 程序异常退出后自动重启
  7. startretries = 3 ; 启动失败自动重试次数,默认是 3
  8. #继续配置
  9. [program:scrapyd_2] ;程序名
  10. .....

image.png

启动

  1. 如果本机默认是python2
  2. # 通过配置文件启动supervisor
  3. /usr/bin/python3 /usr/bin/supervisord -c /etc/supervisor/supervisord.conf
  4. # 重新载入配置文件
  5. /usr/bin/python3 /usr/bin/supervisorctl -c /etc/supervisor/supervisord.conf reload
  6. 如果本机默认是python3
  7. # 通过配置文件启动supervisor
  8. supervisord -c /etc/supervisor/supervisord.conf
  9. # 重新载入配置文件
  10. supervisorctl -c /etc/supervisor/supervisord.conf reload

supervisor - 图3