zoukankan      html  css  js  c++  java
  • supervisor实践

    用在可视化进程管理上,作为一个运维工具可以在web页面上查看程序日志、重启程序,并监控状态。

    应用场景分析:
    开发过程中经常涉及到程序的排错、重启。 重启会在持续集成做,但是需要写脚本,如果基于docker的,通常会:

    docker rm -f xxx
    docker run ...
    

    如果是在宿主机上可能就要 ps -ef 来查询active的进程了,查到后kill然后再启动新进程。通常这需要给应用写一个类似start.sh的启动脚本, 我认为supervisor主要解决了
    这个启动脚本的问题,可以通过配置来代替这个启动脚本,对于查看日志,通常需要登陆到服务器再找对应的日志文件,supervisor可以在网页中查看日志(tail -f )。
    一旦在开发过程中使用了,在生产环境中也需要使用,因为程序的启动方式由supervisor控制了。如果一个系统服务比较多(3个以上),
    并且仅需要一个轻量级的进程监控那supervisor是一个选择。

    它是一个python程序,可以使用pip安装:

    pip install supervisor
    

    生成配置文件:

    echo_supervisord_conf > ./supervisord.conf
    

    修改配置文件,打开http服务:

    [inet_http_server]         ; inet (TCP) server disabled by default
    port=*: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)
    

    另外可以把关于应用程序的配置独立出去,然后用include指令加载进来:

    [include]
    files = /etc/supervisor/supervisor.conf  # 加载应用的配置文件
    

    /etc/supervisor/supervisor.conf中配置:

    [program:cooka-backend] ; 应用的名称
    directory = /tmp/mysql  ; 启用启动时候的路径
    command = /start_myqsl.sh ; 启动命令,改命令要是阻塞的,如果是多个命令,最好放到一个脚本中
    autostart = true     ; 在 supervisord 启动的时候也自动启动
    startsecs = 5        ; 启动 5 秒后没有异常退出,就当作已经正常启动了
    autorestart = true   ; 程序异常退出后自动重启
    startretries = 3     ; 启动失败自动重试次数,默认是 3
    user = wuhf          ; 用哪个用户启动
    redirect_stderr = true  ; 把 stderr 重定向到 stdout,默认 false
    stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
    stdout_logfile_backups = 20     ; stdout 日志文件备份数
    stdout_logfile = /start_myqsl.log ; 程序日志 
    

    启动服务:

    supervisord -c ./supervisord.conf
    

    此时可以到http://localhost:9001上查看进程的状态了。
    也可以使用命令行工具管理进程,比如要重启 tomcat:

    supervisorctl restart tomcat
    
  • 相关阅读:
    js中的标签运动
    js的窗口坐标及拖拽
    js中滑动门的实现方法和案例
    js中的键盘事件和触摸事件
    JavaScript中的鼠标事件
    JavaScript中DOM操作之获取元素占位
    JavaScript中DOM操作之设定标签属性
    JavaScript中DOM操作文档对象模型获取标签内容
    windows10下python安装+selenium
    主体数据管理
  • 原文地址:https://www.cnblogs.com/oaks/p/13963472.html
Copyright © 2011-2022 走看看