• 发布.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
    

     

    最终效果:

    好好学习,天天向上。
  • 相关阅读:
    小程序_递归求年纪
    小程序_递归求阶层
    把字符串复制到剪贴板
    主流的三种RF方案及其优缺点比较
    CC1100E的ESD指标?
    delphi怎样打开一个文本文件
    CC1100模块 250K的速率的问题
    delphi 中显示access数据库表怎么实现
    delphi与Access数据库连接的步骤
    数据库基本语句
  • 原文地址:https://www.cnblogs.com/Zhengxue/p/9822379.html
Copyright © 2020-2023  润新知