• supervisor 笔记


    1. 安装supervisor
    $ sudo dnf install supervisor

    2. 配置supervisor
    安装完supervisor后,输入以下命令可得到配置文件:
    echo_supervisord_conf > /etc/supervisord.conf

    在etc下创建目录,并赋权限
    mkdir -m 700 -p /etc/supervisor

    在目录“ /etc/supervisor”下创建配置文件
    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    修改配置文件
    vim /etc/supervisor/supervisord.conf

    在文件末尾添加,注意首尾需无空格,需顶格
    [include]
    files=/etc/supervisor/conf.d/*.conf
    在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”
    mkdir -m 700 /etc/supervisor/conf.d

    3. 配置应用

    在/ect/supervisor/conf.d/ 目录下新建一个配置文件(touch HelloWebApp.conf),取名为 HelloWebApp.conf

    打开HelloWebApp.conf (vim HelloWebApp.conf),写入如下命令:
    [program:xiuya]
    command=dotnet xiuya.dll #要执行的命令
    directory=/home/code/xiuya/bin/Release #命令执行的目录
    environment=ASPNETCORE__ENVIRONMENT=Production #环境变量
    user=www-data #进程执行的用户身份
    stopsignal=INT
    autostart=true #是否自动启动
    autorestart=true #是否自动重启
    startsecs=1 #自动重启间隔
    stderr_logfile=/var/log/xiuya.err.log #标准错误日志
    stdout_logfile=/var/log/xiuya.out.log #标准输出日志

    4. 运行

    sudo supervisorctl shutdown && sudo supervisord -c /etc/supervisor/supervisord.conf

    如果启动的时候报错,可以打开位于/etc/log/supervisor/supervisord.log文件来查看具体的日志。

    其中dotnet 命令输出的日志文件分别为位于

    /var/log/HelloWebApp.err.log
    /var/log/HelloWebApp.out.log
    在这些文件里面你可以查看程序中的异常信息或者是运行信息。

    打开浏览器,输入 http://localhost:5000 发现已经可以浏览了。


    5. Supervisor UI 管理台

    Supervisor 默认给我们提供了一个图形界面来供我们管理进程和任务,在 macOS 中默认配置的有,但是在 Linux 中我们需要手动开启一下。

    打开位于/etc/supervisor/supervisord.conf文件,添加inet_http_server 节点
    然后就可以通过界面来查看运行的进程了:

    测试一下

    最后,我们测试一下是否会自动重启,开机自动运行?

    1、进程管理中干掉dot net ,发现可以重新启动。以下是日志:

    2016-07-09 12:24:18,626 INFO spawned: 'HelloWebApp' with pid 1774
    2016-07-09 12:24:19,766 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    2016-07-09 12:27:43,208 INFO exited: HelloWebApp (exit status 0; expected)
    2016-07-09 12:27:44,223 INFO spawned: 'HelloWebApp' with pid 3687
    2016-07-09 12:27:45,243 INFO success: HelloWebApp entered RUNNING state, process has stayed up for > than 1 seconds (startsecs)
    2、重启机器,发现可以自动运行。

    6. supervisorctl管理

    Supervisord安装完成后有两个可用的命令行supervisor和supervisorctl,命令使用解释如下:

    supervisord,初始启动Supervisord,启动、管理配置中设置的进程。
    supervisorctl stop programxxx,停止某一个进程(programxxx),programxxx为[program:chatdemon]里配置的值,这个示例就是chatdemon。
    supervisorctl start programxxx,启动某个进程
    supervisorctl restart programxxx,重启某个进程
    supervisorctl stop groupworker: ,重启所有属于名为groupworker这个分组的进程(start,restart同理)
    supervisorctl stop all,停止全部进程,注:start、restart、stop都不会载入最新的配置文件。
    supervisorctl reload,载入最新的配置文件,停止原有进程并按新的配置启动、管理所有进程。
    supervisorctl update,根据最新的配置文件,启动新配置或有改动的进程,配置没有改动的进程不会受影响而重启。
    注意:显示用stop停止掉的进程,用reload或者update都不会自动重启。

    参考资料:

    ASP.NET Core Linux下为 dotnet 创建守护进程(必备知识) - Savorboard - 博客园

    https://www.cnblogs.com/savorboard/p/dotnetcore-supervisor.html

    supervisor安装部署文档和管理实例
    https://blog.csdn.net/shanliangliuxing/article/details/15499891

    Supervisor安装与配置(Linux/Unix进程管理工具) - 技术改变生活 - CSDN博客

    https://blog.csdn.net/xyang81/article/details/51555473

  • 相关阅读:
    LeetCode之“数学”:Plus One
    LeetCode之“动态规划”:Dungeon Game
    LeetCode之“排序”:Largest Number
    LeetCode之“字符串”:ZigZag Conversion
    LeetCode之“数组”:Rotate Array
    HTML 5 简介、视频、Video + DOM、音频、拖放
    HTML 多媒体、Object 元素、音频、视频
    HTML5 Canvas、内联 SVG、Canvas vs. SVG
    HTML5 语义元素、迁移、样式指南和代码约定
    HTML5 简介、浏览器支持、新元素
  • 原文地址:https://www.cnblogs.com/maruko/p/9876782.html
Copyright © 2020-2023  润新知