supervisor安装与使用

supervisor是python开发的linux进程管理工具,可以很方便的控制进程。

其主要的组件:

  • supervisord

是服务端程序,主要功能是启动supervisord服务,启动supervisor管理的子进程,对进程进行管理的服务。

  • supervisorctl

是客户端程序,主要功能就是管理(启动/关闭/重启/状态等)子进程,提供shell环境进行处理。

  • web server

Web Server主要可以在界面上管理进程,Web Server其实是通过XML_RPC来实现的,可以向supervisor请求数据,也可以控制supervisor及子进程。配置在[inet_http_server]块里面

  • XML_RPC

远程调用的,上面的supervisorctl和Web Server就它实现

安装

easy_install supervisor

测试安装是否成功

echo_supervisord_conf

会将一个”sample” Supervisor configuration输出到控制台。

生成配置文件

echo_supervisord_conf > /etc/supervisord.conf

Supervisor配置文件通常命名为supervisord.conf。 它由supervisord和supervisorctl使用。 如果任一应用程序在没有-c选项的情况下启动(用于显式指示配置文件名的选项),应用程序将按照指定的顺序在以下位置查找名为supervisord.conf的文件。 它将使用它找到的第一个文件。

  1. $CWD/supervisord.conf
  2. $CWD/etc/supervisord.conf
  3. /etc/supervisord.conf
  4. /etc/supervisor/supervisord.conf (since Supervisor 3.3.0)
  5. ../etc/supervisord.conf (Relative to the executable)
  6. ../supervisord.conf (Relative to the executable)

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

配置进程

创建目录:

mkdir /etc/supervisor.d

编辑/etc/supervisord.conf将最后的include注释打开。

[include]
files=/etc/supervisor.d//*.conf

/etc/supervisor.d/目录下创建进程配置hexo.conf

[program:hexo]
command=hexo server
directory=/opt/hexo
user=root
autostart=true
autorestart=true
stopasgroup=true
startsecs=10
startretries=999
stdout_logfile=/var/hexo/hexo.log
stdout_logfile_maxbytes=20MB
stdout_logfile_backups=10
stderr_logfile=/var/hexo/hexo_err.log
stderr_logfile_maxbytes=10MB
stderr_logfile_backups=10

启动

  • 启动supervisord
supervisord -c /etc/supervisord.conf
  • 启动supervisorctl
supervisorctl -c /etc/supervisord.conf

使用

supervisord启动成功后,在终端输入supervisorctl管理配置的进程。

常用命令

status --查看进程状态
start [进程名] --启动进程
stop [进程名] --关闭进程
restart [进程名] --重启进程

转载声明:商业转载请联系作者获得授权,非商业转载请注明出处 © wekri
原文地址:http://www.wekri.com/2018/05/19/supervisor/

你可能感兴趣的:(其它)