zoukankan      html  css  js  c++  java
  • Linux Supervisor 守护进程基本配置

    supervisor:C/S架构的进程控制系统,可使用户在类UNIX系统中监控、管理进程。常用于管理与某个用户或项目相关的进程。

    组成部分
    supervisord:服务守护进程
    supervisorctl:命令行客户端
    Web Server:提供与supervisorctl功能相当的WEB操作界面
    XML-RPC Interface:XML-RPC接口

    查看版本信息:

    supervisord -v

    参考地址:http://beginman.cn/linux/2015/04/06/Supervisor/

    官网文档地址:http://www.supervisord.org

    安装:

    yum install python-setuptools
    
    easy_install supervisor

    配置:

    1、在etc下创建目录,并赋权限

    mkdir -m 700 -p /etc/supervisor

    2、在目录“ /etc/supervisor”下创建配置文件

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    3、修改配置文件

    vim /etc/supervisor/supervisord.conf

    在文件末尾添加,注意首尾需无空格,需顶格

    [include]
    files=/etc/supervisor/conf.d/*.conf

    4、在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”

     mkdir -m 700 /etc/supervisor/conf.d

    5、创建进程配置文件,示例:Nginx和asp.net core的守护进程,关键配置:

    mkdir -m 700 /etc/supervisor/conf.d/OneAspNetCore.conf

    asp.net core

    [program:OneAspNetCore]
    command=dotnet OneAspNetCore.dll ; 运行程序的命令
    directory=/home/webapps/aspnet/ ; 执行前要不要先cd到目录去,一般不用
    autorestart = true   ; 程序异常退出后自动重启
    autostart=true       ; 随着supervisord的启动而启动
    startretries = 10     ; 启动失败自动重试次数,默认是 3
    numprocs=1           ; 启动几个进程
    stderr_logfile=/var/log/OneAspNetCore.err.log ; 错误日志文件
    stdout_logfile=/var/log/OneAspNetCore.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=KILL ; 用来杀死进程的
    stopsignal=INT

    注:这里的日志文件目录必须存在 supervisor不会创建该日志目录

    nginx

    [program:nginx]
    command=systemctl start nginx ; 运行程序的命令
    directory= ; 执行前要不要先cd到目录去,一般不用
    autorestart = true   ; 程序异常退出后自动重启
    autostart=true       ; 随着supervisord的启动而启动
    startretries = 10     ; 启动失败自动重试次数,默认是 3
    numprocs=1           ; 启动几个进程
    stderr_logfile=/var/log/nginx/nginx.err.log ; 错误日志文件
    stdout_logfile=/var/log/nginx/nginx.out.log ; 输出日志文件
    user=root ; 进程执行的用户身份
    stopsignal=KILL ; 用来杀死进程的
    stopsignal=INT

     启动Supervisor

    supervisord -c /etc/supervisor/supervisord.conf

    ps:如果服务已启动,修改配置文件可用“ supervisorctl reload ”命令来使其生效

    配置Supervisor开机启动

    新建一个“supervisord.service”文件

    #supervisord service for systemd (CentOS 7.0+)
    # by ET-CS (https://github.com/ET-CS)
    [Unit]
    Description=Supervisor daemon
    
    [Service]
    Type=forking
    ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf
    ExecStop=/usr/bin/supervisorctl $OPTIONS shutdown
    ExecReload=/usr/bin/supervisorctl $OPTIONS reload
    KillMode=process
    Restart=on-failure
    RestartSec=42s
    
    [Install]
    WantedBy=multi-user.target

    将文件拷贝至:“/usr/lib/systemd/system/”

    执行命令:systemctl enable supervisord

    执行命令:systemctl is-enabled supervisord #来验证是否为开机启动

    重启检测是否正常!!!

    web界面配置

    把配置文件中 inet_http_server 前面的分号去掉 在Supervisor中 ;是注释的格式 默认是不开启web界面的

    [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 

     

  • 相关阅读:
    周总结3
    周总结6
    Java时间日期格式转换
    [专贴]在使用了母版页的内容页后,如何在javascript中调用服务器控件值
    用到函数的题目
    javascript解析dom(2)
    javascript解析dom
    自己的分页
    javascript解析DOM(3)
    转载 ajax XML dataset
  • 原文地址:https://www.cnblogs.com/miskis/p/6026452.html
Copyright © 2011-2022 走看看