• .Net Core实战教程(三):使用Supervisor配置守护进程


    安装Supervisor

    yum install python-setuptools
    
    easy_install supervisor

    配置Supervisor

    mkdir /etc/supervisor
    
    echo_supervisord_conf > /etc/supervisor/supervisord.conf
    
    cd /etc/supervisor
    
    vim supervisord.conf

    编辑supervisord.conf文件

    配置启动路径,移动文件最后,找到:

    ;[include]
    ;files = relative/directory/*.ini

    替换为:

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

     

    配置启用管理界面功能,增加如下代码(这里默认不用输入用户名密码,当然也可以配置输入用户名,密码才能使用管理界面):

    ;以下内容开启http服务
    [inet_http_server]
    port=192.168.3.162:9001

    保存并退出

    配置dotnet启动

    cd /etc/supervisor/
    
    mkdir conf.d
    
    cd conf.d
    
    touch myapi.conf
    
    vim myapi.conf

    编辑myapi.conf文件(根据你自己的实际情况书写):

    [program:myapi]
    command=/bin/bash -c "dotnet myapi.dll" ; 运行程序的命令
    directory=/root/mytest/ ; 应用程序所在目录
    stderr_logfile=/var/log/myapi.err.log ; 错误日志文件
    stdout_logfile=/var/log/myapi.out.log ; 输出日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    user=root ; 进程执行的用户身份
    stopsignal=INT
    autostart=true ; 是否自动启动
    autorestart=true ; 程序意外退出是否自动重启
    startsecs=3 ; 自动重启间隔时间秒

    保存并退出

    如果有多个dotnet需要守护,这里需要写多份配置文件。

    运行Supervisor

    supervisord -c /etc/supervisor/supervisord.conf
    
    supervisorctl reload

    查看Supervisor管理界面

    查看管理界面,浏览器中输入刚刚配置的IP与端口:http://192.168.3.162:9001

    发现自己的dotnet进程已经正常启动了。当然这还不够,我们还需要让Supervisor开机自动启动。

    设置开机自动启动

    cd /usr/lib/systemd/system/
    
    touch supervisord.service
    
    vim supervisord.service

    编辑supervisord.service文件:

    [Unit] 
    Description=Supervisor daemon
    
    [Service] 
    Type=forking 
    ExecStart=/usr/bin/supervisord -c /etc/supervisor/supervisord.conf 
    ExecStop=/usr/bin/supervisorctl shutdown 
    ExecReload=/usr/bin/supervisorctl reload 
    KillMode=process 
    Restart=on-failure 
    RestartSec=42s
    
    [Install] 
    WantedBy=multi-user.target

    保存并退出

    启动

    systemctl enable supervisord

    验证一下是否为开机启动:

    systemctl is-enabled supervisord

    重启电脑看看是否开机可以自动开启你的dotnet进程。

    精心准备,转载请留下原文地址。

  • 相关阅读:
    Erlang学习笔记2
    erlang的Socket参数含义
    Erlang 日期和时间处理、时间戳转换
    图(有向)-拓扑排序
    图(无向连通无权图)-广度优先搜索
    图(无向连通无权图)-深度优先搜索
    图(无向连通无权值图)深度优先生成最小生成树
    客户关系管理系统
    字符串类
    I/O流
  • 原文地址:https://www.cnblogs.com/weiweithe/p/10364087.html
Copyright © 2020-2023  润新知