zoukankan      html  css  js  c++  java
  • supervisor安装/配置

    一丶介绍

    为了保证web项目一直处于运行状态,在程序遇到异常丶报错时,立即重启服务

    二丶简介

    supervisor是使用python编写的一个进程管理工具,可以在linux系统下启动,重启,关闭进程

    三丶安装

    1.python安装:pip install supervisor(不推荐)
    1.源码安装:https://pypi.python.org/pypi/supervisor
    >>>cd /usr/local/src
    >>>wget https://pypi.python.org/packages/7b/17/88adf8cb25f80e2bc0d18e094fcd7ab300632ea00b601cbbbb84c2419ea/supervisor-3.3.2.tar.gz
    >>>tar -zxvf supervisor-3.3.2.tar.gz
    
    2.生成配置文件:echo_supervisord_conf > /etc/supervisord.conf
    
    3.启动:supervisord -c /etc/supervisord.conf
    

    四丶Supervisor 配置

    Supervisor 是一个 C/S 模型的程序,supervisord 是 server 端,supervisorctl 是 client 端。

    1.supervisor配置

    # vim /etc/supervisord.conf
    # 配置文件底部,配置include
    [include]
    files=/etc/supervisor/*.conf # 引入 `/etc/supervisor/conf.d/` 下的 `.conf` 文件,若你本地无/etc/supervisor目录,请自建
    

    2.program 配置

    rogram 的配置文件就写在,supervisord 配置中 include 项的路径下:

    # /etc/supervisor/conf.d/ 目录下创建xxx.conf文件
    # vim xxx.conf
    [program:app] ; 程序名称,在 supervisorctl 中通过这个值来对程序进行一系列的操作
    autorestart=True      ; 程序异常退出后自动重启
    autostart=True        ; 在 supervisord 启动的时候也自动启动
    redirect_stderr=True  ; 把 stderr 重定向到 stdout,默认 false
    environment=PATH="/home/app_env/bin"  ; 可以通过 environment 来添加需要的环境变量,一种常见的用法是使用指定的 virtualenv 环境
    command=python server.py  ; 启动命令,与手动在命令行启动的命令是一样的
    user=ubuntu           ; 用哪个用户启动
    directory=/home/app/  ; 程序的启动目录
    stdout_logfile_maxbytes = 20MB  ; stdout 日志文件大小,默认 50MB
    stdout_logfile_backups = 20     ; stdout 日志文件备份数
    ; stdout 日志文件,需要注意当指定目录不存在时无法正常启动,所以需要手动创建目录(supervisord 会自动创建日志文件)
    stdout_logfile = /data/logs/usercenter_stdout.log
    

    五丶supervisorctl常用命令

    supervisord : 启动supervisor
    supervisorctl reload :修改完配置文件后重新启动supervisor
    supervisorctl status :查看supervisor监管的进程状态
    supervisorctl start 进程名 :启动XXX进程
    supervisorctl stop 进程名 :停止XXX进程
    supervisorctl stop all:停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    supervisorctl update:根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启
    

    参考:https://www.jianshu.com/p/3658c963d28b

    https://www.cnblogs.com/xueweihan/p/6195824.html

  • 相关阅读:
    Beanshell 创建全局变量(跨线程组)
    Beanshell 将外部文件导入到jmeter中使用
    session 、cookie、token的区别及联系
    Fiddler Everywhere 结合了postman和fiddler的抓包神器
    jmeter+ant+jenkins接口自动化测试框架
    虚拟机 VMware Workstation Pro 15.5.0 及永久激活密钥
    Mysql--编译安装5.6版本
    Mysql--调优
    Nginx--调优
    ulimit
  • 原文地址:https://www.cnblogs.com/bbiu/p/11675630.html
Copyright © 2011-2022 走看看