• 服务器守护进程监控工具supervisor安装部署


    简介

    Supervisor是Linux/Unix系统下的一个进程管理工具。可以监听、启动、停止、重启一个或多个进程。当一个进程意外被杀死,supervisort监听到进程死后,会自动将它重新拉起,很方便的做到进程自动重启恢复。

    安装

    pip install supervisor

    配置

    1.新建supervisor配置文件目录
    mkdir ~/supervisor
    mkdir ~/supservisor/config.d
    mkdir ~/supervisor/logs
    2.配置
    vim ~/supervisor/supervisord.conf
    复制下边的配置文件至~/supervisor/supervisord.conf中,修改本机ip为当前部署机器的ip
    
    配置文件:
    [unix_http_server]
    file=~/supervisor/supervisor.sock   ;UNIX socket 文件,supervisorctl 会使用
    ;chmod=0700                 ;socket文件的mode,默认是0700
    ;chown=nobody:nogroup       ;socket文件的owner,格式:uid:gid
    
    [inet_http_server]         ;HTTP服务器,提供web管理界面
    port=*:9010        ;Web管理后台运行的IP和端口,如果开放到公网,需要注意安全性
    username=user              ;登录管理后台的用户名
    password=123               ;登录管理后台的密码
    
    [supervisord]
    logfile=~/supervisor/supervisord.log ;日志文件,默认是 $CWD/supervisord.log
    logfile_maxbytes=50MB        ;日志文件大小,超出会rotate,默认 50MB,如果设成0,表示不限制大小
    logfile_backups=10           ;日志文件保留备份数量默认10,设为0表示不备份
    loglevel=info                ;日志级别,默认info,其它: debug,warn,trace
    pidfile=~/supervisor/supervisord.pid ;pid 文件
    nodaemon=false               ;是否在前台启动,默认是false,即以 daemon 的方式启动
    minfds=10240                  ;可以打开的文件描述符的最小值,默认 1024
    minprocs=200                 ;可以打开的进程数的最小值,默认 200
    
    
    [rpcinterface:supervisor]
    supervisor.rpcinterface_factory = supervisor.rpcinterface:make_main_rpcinterface
    
    [supervisorctl]
    ;serverurl=unix:///tmp/supervisor.sock ;通过UNIX socket连接supervisord,路径与unix_http_server部分的file一致
    serverurl=http://本机ip:9010 ; 通过HTTP的方式连接supervisord
    
    ;包含其它配置文件
    [include]
    files = ~/supervisor/config.d/*.ini    ;可以指定一个或多个以.ini结束的配置文件
    
    3.配置需要守护的程序进程
    下列配置以 jupyter 为例,可根据自己需求自行修改
    在~/supervisor/config.d 下新建 jupyter.ini 配置文件
    vim ~/supervisor/config.d/jupyter.ini
    
    复制下列进程配置文件并按照自己的需求修改:
    
    [program:jupyter]
    command=jupyter notebook --ip=0.0.0.0 --port=10022 --no-browser --allow-root
    stdout_logfile=~/supervisor/logs/jupyter.out
    autostart=true
    autorestart=true
    startsecs=5
    priority=1
    stopasgroup=true
    killasgroup=true

    启动服务

    supervisord -c ~/supervisor/supervisord.conf

    控制访问

    1.web访问
    本地ip:9001
    账号密码与配置文件一致
    
    2.终端访问
    supervisorctl 
    进入客户端终端
    用户密码与配置文件的一致
    
    终端命令
    stop jupyter  // 表示停止进程
    stop all   //停止所有进程
    
    help # 查看帮助
    status # 查看程序状态
    stop program_name # 关闭 指定的程序
    start program_name # 启动 指定的程序
    restart program_name # 重启 指定的程序
    tail -f program_name # 查看 该程序的日志
    update # 重启配置文件修改过的程序(修改了配置,通过这个命令加载新的配置)
     
  • 相关阅读:
    [传智播客学习日记]写在培训即将过半之前
    [传智播客学习日记]SQL语句一例通之二——查询、存储过程
    [传智播客学习日记]分页查询的存储过程
    [传智播客学习日记]保持HTTP状态的方法
    [传智播客学习日记]正则提取网页信息并写入文件
    激情黄健翔
    maxthon 2 预览版的邀请
    Head first design patterns 读书笔记 – Strategy(策略模式)
    如何在ReadOnly的DataGrid中的让CheckBox列可点击
    每天如何自动编译项目并将之打包添加到VSS中
  • 原文地址:https://www.cnblogs.com/lidabo/p/16832873.html
Copyright © 2020-2023  润新知