Centos7_Net_core后台守护进程Supervisor配置

环境:

Centos 7

已安装.Net core 3.1. 410

  1. Supervisor安装

    • yum 安装

      1
      yum install supervisor

    (阿里云验证通过)

    • easy_install 安装

      如果yum安装无法找到资源,可以通过easy_install

      1
      wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python

    安装supervisor

    1
    easy_install supervisor
  2. 配置supervisor

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

      1
      mkdir -m 700 -p /etc/supervisor
    • 在目录“ /etc/supervisor”下创建配置文件

      1
      echo_supervisord_conf > /etc/supervisor/supervisord.conf
    • 修改配置文件

      1
      vim /etc/supervisor/supervisord.conf

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

      1
      2
      [include]
      files=/etc/supervisor/conf.d/*.conf
    • 在目录“/etc/supervisor”下创建dotnet core 进程配置文件存放目录“conf.d”

      1
      mkdir -m 700 /etc/supervisor/conf.d
  3. 创建进程配置文件

    1
    vim /etc/supervisor/conf.d/MyDotNetName.conf

    “MyDotNetName”可以为dotnet core 入口dll文件名字 ,插入内容,注意首尾需无空格,需顶格:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    [program:MyDotNetName] ;显示名称
    command=/bin/bash -c "dotnet MyDotNetName.dll" ;运行命令,启动dotnet进程
    directory=/usr/PublishOutput/ ;MyDotNetName目录
    stderr_logfile=/var/log/MyDotNetName.error.log ;错误日志文件
    stdout_logfile=/var/log/MyDotNetName.stdout.log ;日志文件
    environment=ASPNETCORE_ENVIRONMENT=Production ;进程环境变量
    user=root ;进程执行用户
    autostart=true ;自动启动
    autorestart=true ;是否自动重启
    startsecs=3 ;自动重启间隔时间
  4. 创建supervisor 自启动服务

    1
    vim /etc/systemd/system/supervisor.service

    编辑内容:

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    [Unit]
    Description=supervisor

    [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

    使配置生效

    1
    systemctl daemon-reload

    设置服务开机启动,即设置enable

    1
    systemctl enable supervisor.service

    启动服务

    1
    systemctl start supervisor.service
  5. 验证dotnet进程是否启动

    使用命令“ps -ef | grep dotnet”查看dotnet 是否运行

    1
    ps -ef | grep dotnet
  6. supervisor远程管理

    使用命令“vim /etc/supervisor/supervisord.conf”修改配置文件,如下设置

    1
    vim /etc/supervisor/supervisord.conf
    1
    2
    3
    4
    5
    6
    7
    8
    9
    ;[inet_http_server]         ; inet (TCP) server disabled by default
    ;port=127.0.0.1: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))
    ;以下内容开启http服务
    [inet_http_server]
    port=192.168.1.71:9001 ;ip 加端口
    username=admin ;登陆账号,可以不设
    password=123456 ;登陆账户,可以不设
  7. 重启服务,就可以访问了

    注意防火墙是否对端口9001例外