欢迎使用CSDN-markdown编辑器

Supervisor介绍:

Supervisor 是一个 Python 开发的 client/server 系统,可以管理和监控类 UNIX 操作系统上面的进程。它可以同时启动,关闭多个进程,使用起来特别的方便。

组成部分

supervisord(server 部分):读入配置文件并管理子进程,supervisord会自动将应用程序的进程转为守护进程,这样即使你退出shell也没影响。注意,如果一个进程已经是守护进程了,那用supervisord监控时,会报如下错误,因此用supervisor监控的程序,必须以前台进程的方式启动。

FATAL     Exited too quickly (process log may have details)

supervisorctl(client 部分):命令行客户端,用户可以通过它与不同的 supervisord 进程联系,获取子进程的状态,如

supervisorctl reread ; 重载配置文件,并不重启任何进程
supervisorctl reload ; 重新启动supervisord进程
supervisorctl stop(start, restart) xxx,停止(启动,重启)某一个进程(xxx);
supervisorctl update: 根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启;
supervisor 的安装
    yum install python-pip 
    easy_install supervisor

安装完成后,会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,其中echo_supervisor_conf 是生成supervisor 配置文件的进程。

Supervisor 对守护进程的处理

Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程。否则提示Exited too quickly (process log may have details)异常。因此我们需要将一些daemon进程运行的程序,进行一下处理。

  • tomcat 的处理:
/opt/tomcat/bin/catalina.sh run
  • Nginx 处理:
增加 daemon off 至nginx.conf 的全局配置项中
配置管理项,修改 supervisord.conf 文件

在conf文件的最后,添加如下内容

[program:nginx]
command=/usr/sbin/nginx -c /etc/nginx/nginx.conf
numprocs=1
autorestart=true
redirect_stderr=true
stdout_logfile=/var/log/supervisor-nginx.log
stderr_logfile=/var/log/supervisor-nginx.err
loglevel=info

以上内容只介绍了管理一个nginx进程的情况,如果是多个进程,建议Include 进来,进行分类配置,具体可以参看 supervisord.conf 文件中

;[include]
;files = relative/directory/*.ini

针对以上进行修改,指定一个放配置文件的目录。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值