• Centos 7 .Net core后台守护进程Supervisor配置


    环境:

    Centos 7

    已安装.Net core 2.0.0  .Net core 1.1.2

    1、Supervisor安装

    • yum 安装

    yum install supervisor

    (阿里云验证通过)

    • easy_install 安装

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

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

    安装supervisor

    easy_install supervisor

    2、配置supervisor

    • 在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、创建进程配置文件

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

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

    [program:MyDotNetName]
    command=/bin/bash -c "dotnet MyDotNetName.dll"
    directory=/usr/PublishOutput/
    stderr_logfile=/var/log/MyDotNetName.error.log stdout_logfile=/var/log/MyDotNetName.stdout.log
    environment
    =ASPNETCORE_ENVIRONMENT=Production
    user
    =root
    stopsignal
    =INT autostart=true
    autorestart=true startsecs
    =3
    [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 自启动服务

    vim /etc/systemd/system/supervisor.service

    编辑内容:

    [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

    使配置生效

    systemctl daemon-reload

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

    systemctl enable supervisor.service

    启动服务

    systemctl start supervisor.service

    5、验证dotnet进程是否启动

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

    [root@machine ~]# ps -ef | grep dotnet
    root      2281  2280  0 15:27 ?        00:00:00 dotnet MyDotNetName.dll
    root      2302  2217  0 15:30 pts/0    00:00:00 grep --color=auto dotnet

    6、supervisor远程管理

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

    ;[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 ;登陆账户,可以不设

    重启服务,就可以访问了

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

    可能遇到的问题:

    supervisor 启动dotnet.core 报“ too many start retries too quickly”

  • 相关阅读:
    6.VUE事件处理
    springmvc在使用@ModelAttribute注解获取Request和Response会产生线程并发不安全问题
    IDEAhttp://lookdiv.com/index/index/indexcodeindex.html
    不四舍五入保留...4(round(273.86015,4,1);)
    spring security中@PreAuthorize、@PostAuthorize、@PreFilter和@PostFilter四者的区别
    @RepeatSubmit spring boot 防止重复提交
    权限设计的杂谈
    vue设置全局样式变量 less
    坐标轴刻度取值算法-基于魔数数组-源于echarts的y轴刻度计算需求
    less使用
  • 原文地址:https://www.cnblogs.com/hobinly/p/7382038.html
Copyright © 2020-2023  润新知