supervisor mac 布署

supervisor主要由Supervisord、Supervisorctl、Web server和XML-RPC interface组成。

  • Supervisord:主进程,负责管理进程的server,它会根据配置文件创建指定数量的应用程序的子进程,管理子进程的整个生命周期,对crash的进程重启,对进程变化发送事件通知等。同时通过内置web server和XML-RPC Interface可以轻松实现进程管理。
  • Supervisorctl:管理client,用户通过命令行发送消息给supervisord,可以查看进程状态,加载配置文件,启停进程,查看进程标准输出和错误输出,远程操作等。
  • Web server:superviosr提供了web server功能,可通过web控制进程。
  • XML-RPC interface: XML-RPC接口,提供XML-RPC服务来对子进程进行管理和监控。

安装方法:

 

>brew install supervisor
>sudo npm install supervisor -g    //mac

常用命令:

# 启动supervisor
>python /usr/bin/supervisord

# 启动监控的进程
>supervisorctl start all

# 关闭监控的进程
>supervisorctl stop all

# 查看状态
>supervisorctl status

# 重新加载配置文件:
>supervisorctl reload

# 开启supervisor
>brew services start supervisor

# 重启supervisor
>brew services restart supervisor

# 停止supervisor
>brew services stop supervisor

 

开启 web 管理:

>vi /usr/local/etc/supervisord.ini

# 将下面注释去掉

[inet_http_server] ; inet (TCP) server disabled by default

port=127.0.0.1:9001 ; (ip_address:port specifier, *:port for all iface)

username=fengjx ; (default is no username (open server))

password=fengjx1989 ; (default is no password (open server))

# 重启服务

>brew services start supervisor

==> Tapping homebrew/services

Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-services'...

remote: Counting objects: 10, done.

remote: Compressing objects: 100% (7/7), done.

remote: Total 10 (delta 0), reused 6 (delta 0), pack-reused 0

Unpacking objects: 100% (10/10), done.

Tapped 0 formulae (37 files, 51KB)

==> Successfully started `supervisor` (label: homebrew.mxcl.supervisor)

在这里插入图片描述

进程管理:

supervisord.ini 的最后一行配置:

files = /usr/local/etc/supervisor.d/*.ini

我们可以吧配置文件写到 /usr/local/etc/supervisor.d/ 目录下,只要以.ini 后缀结尾就行,例如管理nginx的状态:

vi nginx.ini

[program:nginx]

command = sudo /usr/local/bin/nginx

stdout_logfile=/data/home/supervisor/logs/nginx_stdout.log

stdout_logfile_maxbytes=10MB

stderr_logfile=/data/home/supervisor/logs/nginx_stderr.log

stderr_logfile_maxbytes=10MB

autostart=true

autorestart=true

;environment = PATH="$PATH:/usr/local/bin"

然后,使用 supervisorctl 启动 nginx。

supervisorctl start nginx

参考:
github上2个基于supervisor二次开发的集中进程管理工具,可在一个页面下管理多台机器的进程:
https://github.com/mlazarov/s...
https://github.com/TAKEALOT/n...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值