我用 Linux程序员

Supervisor安装使用

2017-08-15  本文已影响1341人  Johnnian

本文同步于个人Github博客:https://github.com/johnnian/Blog/issues/27,欢迎留言。

之前在生产环境部署Web服务,使用 nohup来启动服务,但是nohup在异常崩溃的情况下,无法重启服务,找到 Supervisor, 可以实现后台守护进程的方式运行服务。

一、介绍

Supervisor是比较常用的进程管理工具,支持 Linux/MacOS平台,可以用来控制一组Linux/Unix进程(启动、重启、kill)等,使用Supervisor管理的进程,可以做到以守护进程的方式运行,服务异常关闭后可以自动重启。

Supervisor 有下面几个组件:

Supervisor 通过配置文件,还可以启动Web控制台,通过Web页面来管理子进程;

二、安装

环境:
CentOS : 6/7
Python : 2.X

使用Python的Setuptools软件包来安装:

[root@4fff02d62bba ~]# yum -y install python-setuptools
[root@4fff02d62bba ~]# easy_install supervisor
[root@4fff02d62bba ~]# supervisord -v
3.3.3

默认安装的版本是最新版(3.3.3)

三、配置 & 启动服务

拷贝默认配置文件

[root@4fff02d62bba ~]# mkdir /etc/supervisor
[root@4fff02d62bba ~]# echo_supervisord_conf > /etc/supervisord.conf
[root@4fff02d62bba ~]# vi /etc/supervisord.conf
;修改include配置,去除注释
[include]
files = /etc/supervisor/*.conf

[root@4fff02d62bba ~]# supervisord -c /etc/supervisord.conf
[root@4fff02d62bba ~]# ps -ef | grep supervisord
root       202     0  0 03:24 ?        00:00:00 /usr/bin/python /usr/bin/supervisord -c /etc/supervisord.conf

四、配置应用或服务器进程

编写应用启动脚本:启动脚本还有其他的选项配置,点击查看官网文档

[root@4fff02d62bba ~]# vi /etc/supervisor/storm.conf
[program:storm]
directory=/root
command=storm supervisor
autostart=true
autorestart=true

配置文件生效:

#(修改的配置文件生效,设置`autostart=true`的程序,会自动启动)
[root@4fff02d62bba ~]# supervisorctl update
Restarted supervisord

备注:

参考链接

上一篇 下一篇

猜你喜欢

热点阅读