使用supervisor监控管理Linux服务进程

  1. 安装
  2. 配置
    1. 配置进程
    2. 启用web监控服务
  3. 启动 supervisor
  4. 子进程状态

Supervisor Docs
使用ssh远程维护VPS时候,要在后台挂起一个程序。挂起程序很简单,在command后加上&符号就可以,但是当断开ssh时候,挂起的程序也随之killed, 很是恼火。在使用nohup 的时候意外发现了supervisor, supervisor使用python开发,通过配置文件来配置需要启动监管的程序,作为supervisord的子进程。执行程序supervisord即‘守护进程’(Daemon)[在希腊神话中是守护神的意思!类似中国的护法?daemon这个词和恶魔(demon)只差一个字母,且发音完全一样!多的a这个品质可理解为全神关注的(absorbed)/精确的(accurate)/能干的(able)/乐于助人的(accommodating)/友好的(amicable)]。类似httpd, mysqld最后的d字母意为守护程序。


安装

easy_install supervisor
or
pip3 install supervisor

配置

执行命令echo_supervisord_conf回显默认的初始配置文件。
可通过管道命令将配置文件重定向到某个目录,eg:echo_supervisord_conf > /etc/supervisord.conf
以root用户运行需要增加 user=root

配置进程

例如要在vps上启用一个简单的http服务,用于分享download目录下的文件

1
2
3
4
5
6
7
8
9
[program:http-server]
command=python3 -m http.server
directory=/home/download/
redirect_stderr = true
user=root
autostart=true
autorestart=true
stderr_logfile=/var/log/simple-http-server_err.log
stdout_logfile=/var/log/simple-http-server_out.log

启用web监控服务

通过浏览器远程管理,启动停止程序,查看日志等,非常方便。

1
2
3
4
[inet_http_server]         ; inet (TCP) server disabled by default
port=0.0.0.0:9001 ; (ip_address:port specifier, *:port for all iface)
username=user ; (default is no username (open server))
password=123 ; (default is no password (open server))

启动 supervisor

-c supervisor.conf```
1
2
3
4
5

### supervisorctl
- 当配置文件更新后, 可用```supervisorctl update```更新配置, 但并未立即生效,需重启.
- 一般使用```supervisorctl reload```更新配置并重启所有程序.
- 停止所有程序 ```supervisorctl stop all
  • 启动/停止/重启某程序 supervisorctl {start:stop:restart} program_name

  • 查看所有子进程的状态supervisorctl

    子进程状态

    Subprocess State Transition Graph
    七种状态

  • STOPPED

  • STARTING

  • RUNNING

  • BACKOFF

  • STOPPING

  • EXITED

第八种UNKNOWN(由supervisord出错引起)


转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 [email protected]

文章标题:使用supervisor监控管理Linux服务进程

文章字数:500

本文作者:Spaceack

发布时间:2018-07-10, 12:00:00

最后更新:2020-03-30, 06:07:12

原始链接:http://spaceack.com/2018/07/10/2018-07-10-%E4%BD%BF%E7%94%A8supervisor%E7%9B%91%E6%8E%A7%E7%AE%A1%E7%90%86Linux%E6%9C%8D%E5%8A%A1%E8%BF%9B%E7%A8%8B/

版权声明: "署名-非商用-相同方式共享 4.0" 转载请保留原文链接及作者。

目录
×

喜欢就点赞,疼爱就打赏