zoukankan      html  css  js  c++  java
  • 发布.net core Web到CentOS7

    1.发布一个.net core(只安装了.Net Core运行时,而没有安装ASP.NET Core运行时,需要添加以下节点再发布)。

     <PublishWithAspNetCoreTargetManifest>false</PublishWithAspNetCoreTargetManifest>

    2.在centOS7系统下安装.net core环境。

    首先,安装libicu依赖

    执行下方命令行

    yum install libunwind libicu

    第二步,Add the dotnet product feed

    按照微软官网上的流程执行下面两行命令
    1. sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
    2. sudo sh -c 'echo -e "[packages-microsoft-com-prod] name=packages-microsoft-com-prod baseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod enabled=1 gpgcheck=1 gpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo'

    第三步,Install the .NET SDK

    执行下方命令行,时间较长

    1. sudo yum update
    2. sudo yum install libunwind libicu
    3. sudo yum install dotnet-sdk-2.0.2

    第四步,安装完成

      输入 dotnet --info验证是否安装成功

        

    3.下载WinSCP(https://winscp.net/eng/download.php)。

    4.连接CentOS7。

    5.通过winSCP,将发布好的文件复制到centOS文件下。

    6.执行dll([root@用户名   项目发布的文件夹] dotnet 你的项目名称.dll)。

    如图所示,发布成功。

    7.安装nginx。

    1.curl -o nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    2.rpm -ivh nginx.rpm
    3.yum install nginx
    4.systemctl start nginx 启动服务
    5.systemctl enable nginx 重置服务
    6.systemctl start firewalld 开启防火墙
    7.systemctl start firewalld.service 开启服务
    8.systemctl restart firewalld 重启防火墙
    9.vi /etc/nginx/conf.d/default.conf/  修改nginx配置
    替换内容为
     server {
      listen 80;
      location / {
      proxy_pass http://localhost:5000;
      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;
      }
       }
    
    10.nginx -s reload  重新生成
    11.dotnet xxxx.dll 重新执行项目DLL

    8.为了保持网站一直挂着,所以要安装一个守护进程服务(Supervisor)。

     安装

    1.yum install python-setuptools
    2.easy_install supervisor
    

    配置

    1.mkdir /etc/supervisor
    2.echo_supervisord_conf > /etc/supervisor/supervisord.conf
    3.cd /etc/supervisor/
    4.vi supervisord.conf
    5.将内容最后面的
    ;[include]
    ;files = relative/directory/*.ini
    替换为
    [include]
    files = conf.d/*.ini
    6.mkdir conf.d
    7.cd conf.d
    8.mkdir 项目名.ini
    9.vi 项目名.ini
    添加内容:
    [program:项目名]
    
    command=dotnet 项目名.dll ; 运行程序的命令
    
    directory=/tmp/app/Release/ ; 命令执行的目录
    
    autorestart=true ; 程序意外退出是否自动重启
    
    stderr_logfile=/var/log/项目名.err.log ; 错误日志文件
    
    stdout_logfile=/var/log/项目名.out.log ; 输出日志文件
    
    environment=ASPNETCORE_ENVIRONMENT=Production ; 进程环境变量
    
    user=root ; 进程执行的用户身份
    
    stopsignal=INT
    
    按ESC :wq!,退出。
    10.supervisord -c /etc/supervisor/supervisord.conf
    11.ps -ef | grep 项目名
    12.supervisord reload
    

     

    最终效果:

    好好学习,天天向上。
  • 相关阅读:
    luogu P1833 樱花 看成混合背包
    luogu P1077 摆花 基础记数dp
    luogu P1095 守望者的逃离 经典dp
    Even Subset Sum Problem CodeForces
    Maximum White Subtree CodeForces
    Sleeping Schedule CodeForces
    Bombs CodeForces
    病毒侵袭持续中 HDU
    病毒侵袭 HDU
    Educational Codeforces Round 35 (Rated for Div. 2)
  • 原文地址:https://www.cnblogs.com/Zhengxue/p/9822379.html
Copyright © 2011-2022 走看看