Mac下Supervisor进程监控管理工具的安装与配置

安装 Supervisor

Supervisor 是由 Python 写成,可用 Python 的包安装管理工具 pip(Python Package Index) 直接安装:

代码如下:

sudo pip install supervisor

配置 Supervisor

Supervisor 的配置文件命名为 supervisord.conf,它为 supervisord(Supervisor 的主服务命令) 和 supervisorctl(Supervisor 的监控管理命令) 提供配置选项设置。 Supervisor 并不规定配置文件 supervisord.conf 的存放位置,Supervisor 服务启动的时候默认会在:

代码如下:

$CWD/supervisord.conf

$CWD/etc/supervisord.conf

/etc/supervisord.conf

这几个目录位置查找配置文件 supervisord.conf。Supervisor 也提供参数 “-c” 来指定配置文件的目录路径。

在终端输入 “echo_supervisord_conf” 命令可查看 Supervisor 的默认配置的内容。

生成一份默认的配置文件:

代码如下:

echo_supervisord_conf > /etc/supervisord.conf

这里有选择的设置了一些配置,基本够用,配置如下:

代码如下:

[inet_http_server]

port = 127.0.0.1:9001

username = dhq

password = 123456

<

[unix_http_server]

file = /tmp/supervisor.sock

chmod = 0700

<

[supervisord]

logfile = /Users/dengjoe/.supervisor/supervisord.log

logfile_maxbytes = 50MB

logfile_backups=10

loglevel = info

pidfile = /tmp/supervisord.pid

nodaemon = False

minfds = 1024

minprocs = 200

umask = 022

identifier = supervisor

directory = /tmp

nocleanup = true

childlogdir = /tmp

[supervisorctl]

serverurl = unix:///tmp/supervisor.sock

<

[rpcinterface:supervisor]

supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface

<<<

[program:shadowsocks]

directory = /Users/dengjoe/shadowsocks

command = /usr/bin/python /Users/dengjoe/shadowsocks/local.py

autostart = true

autorestart = true

启动 Supervisor

代码如下:

supervisord -c /etc/supervisord.conf

参数 “-c” 表示指定 Supervisor 配置文件的路径

把 supervisord 加入系统启动服务

代码如下:

<?xml version=”1.0″ encoding=”UTF-8″?>

<!DOCTYPE plist PUBLIC “-//Apple//DTD PLIST 1.0//EN” “”>

<plist version=”1.0″>

<dict>

<key>KeepAlive</key>

<dict>

<key>SuccessfulExit</key>

<false/>

</dict>

<key>Label</key>

<string>dengjoe.supervisord</string>

<key>ProgramArguments</key>

<array>

<string>/usr/local/bin/supervisord</string>

<string>-n</string>

<string>-c</string>

<string>/etc/supervisord.conf</string>

</array>

<key>RunAtLoad</key>

<true/>

</dict>

</plist>

启动 Supervisor 服务:

代码如下:

launchctl load ~/Library/LaunchAgents/dengjoe.supervisord.plist

supervisorctl 监控命令

supervisorctl 是 Supervisor 自带的后台进程控制工具,下面是该命令的一些用法:

启动应用:

代码如下:

supervisorctl start program

重新读取配置:

代码如下:

supervisorctl update



发表评论

电子邮件地址不会被公开。 必填项已用 * 标注

*

您可以使用这些 HTML 标签和属性: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

(Spamcheck Enabled)