欢迎访问玛尊真服务平台,本站唯一网址:www.isodyi.com,未经明确书面许可,任何人不得擅自使用“玛尊真”等商标。
玛尊真ISO认证服务公司

CentOS7+Nginx+Supervisor安装部署.NETCore项目

部署环境
OS:CentOS7
.NET Core SDK:2.2.402

成都创新互联服务项目包括灵宝网站建设、灵宝网站制作、灵宝网页制作以及灵宝网络营销策划等。多年来,我们专注于互联网行业,利用自身积累的技术优势、行业经验、深度合作伙伴关系等,向广大中小型企业、政府机构等提供互联网行业的解决方案,灵宝网站推广取得了明显的社会效益与经济效益。目前,我们服务的客户以成都为中心已经辐射到灵宝省份的部分城市,未来相信会继续扩大服务区域并继续获得客户的支持与信任!

  1. 安装.NET Core SDK
    1.1 安装依赖
    yum install libunwind libicu

    dotnet 的repo,需注册Microsoft签名密钥并添加Microsoft产品密钥

    rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

    1.2 安装dotnet SDK

    yum update
    yum install dotnet-sdk-2.2

    1.3 验证查看
    #dotnet --info

    .NET Core SDK (reflecting any global.json):
    Version:   2.2.402
    Commit:    c7f2f96116
    Runtime Environment:
    OS Name:     centos
    OS Version:  7
    OS Platform: Linux
    RID:         centos.7-x64
    Base Path:   /usr/share/dotnet/sdk/2.2.402/
    Host (useful for support):
    Version: 2.2.8
    Commit:  b9aa1abc51
    .NET Core SDKs installed:
    2.2.402 [/usr/share/dotnet/sdk]
    .NET Core runtimes installed:
    Microsoft.AspNetCore.All 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.All]
    Microsoft.AspNetCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.AspNetCore.App]
    Microsoft.NETCore.App 2.2.8 [/usr/share/dotnet/shared/Microsoft.NETCore.App]
    To install additional .NET Core runtimes or SDKs:
    https://aka.ms/dotnet-download

    1.4 为dotnet命令创建软链接:
    /usr/bin/dotnet -> /usr/share/dotnet/dotnet
    1.5 部署启动.NET Core项目应用
    进入到项目应用:
    cd /usr/soft/package/Web
    启动dotnet应用

    dotnet /usr/soft/package/Web/HiCore.PreventFraudAPI.Web.dll

    这里存在一问题,以上方式启动的应用非后台启动,如果Ctrl+Z就退出了应用,所以这里需要一个Daemon守护进程,让应用独立的运行,这里引入Supervisor。

  2. Nginx配置应用虚拟主机
    这里Nginx安装略,主要将Nginx配置的虚拟主机配置文件说明下。默认proxy_pass反代的端口为5000,可根据实际项目修改。这里.NET Core的应用项目配置的端口在项目中的hosting.json文件里配置,如:
    hosting.json 
    {
    "server.urls": "http://*:8001"
    }

    Nginx配置的该虚拟主机文件配置如:

    server {
    listen 80;
    location / {
        proxy_pass http://localhost:8001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection keep-alive;
        proxy_set_header Host $host;
        proxy_cache_bypass $http_upgrade;
    }
    }

    文件保存后,执行命令nginx -s reload重启Nginx即可访问。

  3. Supervisor配置守护进程
    Supervisor是用Python开发的Linux/Unix系统下的一个进程管理工具。可以使进程脱离终端,成为后台Daemon守护进程。实时监控进程状态,异常退出时能自动重启。
    3.1 安装Supervisor
    官方推荐首选安装方法是使用easy_install,它是setuptools(Python包管理工具)的一个功能。
    yum install python-setuptools

    安装

    easy_install supervisor

    版本

    supervisord --version

    3.2 初始化supervisor配置
    mkdir /etc/supervisor
    mkdir -p /etc/supervisor/conf.d

    echo_supervisord_conf > /etc/supervisor/supervisord.conf

    打开supervisord.conf文件,修改默认[include]配置项,改为如下:

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

    Supervisor会自动加载 /etc/supervisor/conf.d目录下.conf后缀的文件作为共同服务配置。Supervisor管理的每个进程单独写一个配置文件放在该目录下,/etc/supervisor/supervisord.conf配置文件中保留公共配置。
    3.3 编写.NET Core项目应用配置
    vim /etc/supervisor/conf.d/netcoreAPI.conf

    [program:PreventFraudAPI.Web]
    command=dotnet Web.dll      #启动命令
    directory=/usr/soft/package/FraudAPI.Web    #启动应用目录
    autostart=true    #Supervisord启动时,程序是否启动
    autorestart=true    #程序退出后自动启动
    startretries=5    #启动失败自动重试次数,默认是3
    startsecs=1    #自动重启间隔
    user=root    #启动进程用户,默认root
    priority=999    #默认999,值小优先启动
    stderr_logfile=/var/log//PreventFraudAPI.err.log    #error_log
    stdout_logfile=/var/log//PreventFraudAPI.out.log    #out_log
    environment=ASPNETCORE_ENVIRONMENT=Production    #进程环境变量
    stopsignal=INT     #请求停止时用来杀死程序的信号

    启动Supervisor服务命令,这里可不启动,后面设置Supervisor开机启动。

    supervisord -c /etc/supervisor/supervisord.conf

    3.4 设置Supervisor开机启动
    创建Supervisor启动服务脚本supervisor.service,目录/usr/lib/systemd/system/。
    supervisor.service脚本内容:

    [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

    设置开机启动

    systemctl enable supervisor

    3.5 Supervisorctl管理进程
    Supervisor服务启动后,受其管理的进程会在后台运行。可以通过supervisorctl命令管理客户端进程。
    #supervisorctl

    PreventFraudAPI.Web              RUNNING   pid 15921, uptime 0:22:51
    supervisor> 
    supervisor> help
    default commands (type help <topic>):
    =====================================
    add    exit      open  reload  restart   start   tail   
    avail  fg        pid   remove  shutdown  status  update 
    clear  maintail  quit  reread  signal    stop    version
上一篇:没有了
快速申请办理
称呼: *
电话: *

订单提交后,10分钟内,我们将安排工作人员和您联系!

热点资讯
联系我们
大悟县玛尊真商贸有限公司
电   话:0712-7218610

传   真:0712-7218610

谭经理:18980820575

王主任:135 1821 9792

邮   箱:631063699@qq.com

地   址:湖北省孝感市大悟县城关镇鄂北物流城13栋125号

微信二维码
扫一扫 关注我们
电话:

189-8208-1108

湖北省孝感市大悟县城关镇鄂北物流城13栋125号八戒云创空间-D1-430

ISO体系认证
iso认证
服务体系认证
有机产品认证
OHSAS18001
ITSS认证
信用评级
中国招标企业信用认证
资信等级
重合同守信用
企业信用认证
中国诚信供应商
质量、服务诚信认证
CMMI
CMMI1
CMMI2
CMMI3
CMMI4
CMMI5
系统集成
系统集成一级
信息系统集成二级
信息系统集成三级
信息系统集成四级
涉密信息系统集成
资质许可证
生产许可证认证
GS认证
CCC认证
中国节能认证
十环认证
知识产权

Copyright © 2002-2025

大悟县玛尊真商贸有限公司 版权所有

备案/许可证号:鄂ICP备2025140345号-7   网站建设创新互联
 
QQ在线咨询
客服咨询
咨询热线
189-8208-1108