天天看点

使用Supervisor管理进程二

supervisor安装完成后会生成三个执行程序:supervisortd、supervisorctl、echo_supervisord_conf,分别是supervisor的守护进程服务(用于接收进程管理命令)、客户端(用于和守护进程通信,发送管理进程的指令)、生成初始配置文件程序。

运行supervisord服务的时候,需要指定supervisor配置文件,如果没有显示指定,默认在以下目录查找:

$CWD表示运行supervisord程序的目录。

可以通过运行echo_supervisord_conf程序生成supervisor的初始化配置文件,如下所示:

注:分号(;)开头的配置表示注释

include示例:

进程管理配置参数,不建议全都写在supervisord.conf文件中,应该每个进程写一个配置文件放在include指定的目录下包含进supervisord.conf文件中。 

1> 创建/etc/supervisor/config.d目录,用于存放进程管理的配置文件 

2> 修改/etc/supervisor/supervisord.conf中的include参数,将/etc/supervisor/conf.d目录添加到include中

使用Supervisor管理进程二

下面是配置Tomcat进程的一个例子:

supervisord启动成功后,可以通过supervisorctl客户端控制进程,启动、停止、重启。运行supervisorctl命令,不加参数,会进入supervisor客户端的交互终端,并会列出当前所管理的所有进程。 

使用Supervisor管理进程二

输入help可以查看可以执行的命令列表,如果想看某个命令的作用,运行help 命令名称,如:help stop

使用Supervisor管理进程二

出于安全考虑,默认配置是没有开启web管理界面,需要修改supervisord.conf配置文件打开http访权限,将下面的配置:

修改成:

port:绑定访问IP和端口,这里是绑定的是本地IP和9001端口 

username:登录管理后台的用户名 

password:登录管理后台的密码

1> 进入/lib/systemd/system目录,并创建supervisor.service文件

2> 设置开机启动

3、修改文件权限为766

将上述脚本内容保存到/etc/rc.d/init.d/supervisor文件中,修改文件权限为755,并设置开机启动

注意:修改脚本中supervisor配置文件路径为你的supervisor的配置文件路径

Supervisor只能管理非daemon的进程,也就是说Supervisor不能管理守护进程。否则提示Exited too quickly (process log may have details)异常。例子中的Tomcat默认是以守护进程启动的,所以我们改成了catalina.sh run,以前台进程的方式运行。

yum方式安装

supervisor没有发布在标准的CentOS源在,需要安装epel源。这种方式安装的可能不是最新版本,但比较方便,安装完成之后,配置文件会自动帮你生成。 

默认配置文件:/etc/supervisord.conf 

进程管理配置文件放到:/etc/supervisord.d/目录下即可

     本文转自yzy121403725 51CTO博客,原文链接:http://blog.51cto.com/lookingdream/1900646,如需转载请自行联系原作者