supervisor安装配置实例

在项目开发中,DE通常会把自己开发的应用随着系统启动而自动启动, 而且启动之后最好还能方便的控制其停止/重启。 传统的做法是在 /etc/init.d/ 下建立启动脚本, 但这个方法非常繁琐, 容易出错, 而且不同服务器/不同版本的配置又有差异。Supervisor 允许用户去监控和管理Linux系统中的应用。supervisor和launchd, daemontools, runit有些类似,但是supervisor不是init运行 “process id 1”的替代品,它意味着在linux启动时启动用户自己开发的应用。

1. supervisor 安装

官网上介绍了可连网安装和非连网安装,本文实验了第一种

Internet-Installing With Setuptools

If the Python interpreter you’re using has Setuptools installed, and the system has internet access, you can download and install supervisor in one step using easy_install.

easy_install supervisor

 

2. supervisor配置和应用

supervisord 和 supervisorctl:

    supervisord 是后台管理服务器, 用来依据配置文件的策略管理后台守护进程, 它会随系统自动启动
  • supervisorctl 用于管理员向后台管理程序发送 启动/重启/停止 等指令;

配置文件 用来指示 Supervisor 有哪些进程需要管理, 以及管理策略,以下是默认的路径。/etc/supervisor/supervisord.conf, 主配置文件中的末尾两行文本:

指明了 Supervisor 会去 /etc/supervisor/conf.d/ 目录下查找以 .conf 结尾的子配置文件,也就是说, 我们只需在 /etc/supervisor/conf.d/ 目录下为每个后台守护应用新建一个配置文件即可.

3. 实例应用

在我们的系统中,/etc/supervisor/supervisord.conf最后包含以下内容,

[include] files = /etc/supervisor/apps/mpe.conf

在/etc/supervisor/apps/mpe.conf下则定义了需要启动的应用。

[program:trafficserver] command = /opt/cisco/mos/bin/traffic_cop stdout_logfile = /var/log/supervisor/trafficserver_out.log stderr_logfile = /var/log/supervisor/trafficserver_err.log priority=121 autostart=false autorestart=true stopasgroup=true environment = LD_LIBRARY_PATH=/opt/cisco/mos/mpe/lib

[root@mos-ngmpe1 apps]# supervisorctl status

trafficserver RUNNING pid 32069, uptime 23:36:59

控制守护进程命令


    # 控制所有进程
    sudo supervisorctl start all
    sudo supervisorctl stop all
    sudo supervisorctl restart all

    # 定向控制指定进程
    sudo supervisorctl stop trafficserver
    sudo supervisorctl start trafficserver
    sudo supervisorctl restart trafficserver

 

posted @ 2015-05-14 09:37  yating.yang  阅读(636)  评论(0)    收藏  举报