zoukankan      html  css  js  c++  java
  • centos 配置.Net core 环境并部署dotnet Core文件

    一、配置环境【Microsoft dotnet Core

      1) Add the dotnet product feed

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

     2) Install the .NET SDK

    sudo yum update
    sudo yum install dotnet-sdk-2.1

     3) Create your project

    dotnet new webapi -n test

    4) 运行项目

    dotnet run 

    5)发布

    dotnet publish

     6) 运行

    dotnet test.dll

    7)运行结果

    二、从本地上传项目,执行运行操作

     出现这个问题是没有安装 dotnet-hosting-2.0.0,安装一下

    yum install dotnet-hosting-2.0.0

    再次运行,又出现问题

    说明现在的平台上的dotnet SDK不是2.0.3的【2.0.6不存在】,执行以下命令即可:

    sudo yum install dotnet-sdk-2.0.3

     继续运行,安装dotnet-hosting-2.0.x版本不对(你软件对应的.net core 版本)

    yum install dotnet-hosting-2.0.X

    运行

    这是因为没装libunwind。libunwind库为基于64位CPU和操作系统的程序提供了基本的堆栈辗转开解功能,32位操作系统不要安装。其中包括用于输出堆栈跟踪的API、用于以编程方式辗转开解堆栈的API以及支持C++异常处理机制的API

    yum install libunwind

    好了,终于运行成功

     此时程序再centos上运行成功,我们可以在centos服务器中进行访问,但是无法在外部浏览器中进行访问,需要一个web容器进行转发。可以使用jexus,也可以使用Nginx.

    三、安装Nginx

    curl -o  nginx.rpm http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm

      rpm -ivh nginx.rpm

      yum install nginx

     启动nginx

      输入:systemctl start nginx 来启动nginx。

      输入:systemctl enable nginx 来设置nginx的开机启动(linux宕机、重启会自动运行nginx不需要连上去输入命令)。

     开启端口,进行测试nginx

    firewall-cmd --zone=public --add-port=80/tcp --permanent
    
    ystemctl restart firewalld

    四、配置dotnet core到nginx 【文章来源

      修改 /etc/nginx/conf.d/default.conf 文件。

    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;
        }
    }

    执行:nginx  reload 使其即时生效

    再次访问,还是失败。

    这个问题是由于SELinux保护机制所导致,我们需要将nginx添加至SELinux的白名单。

    yum install policycoreutils-python
    
    sudo cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
    
    sudo semodule -i mynginx.pp

    再次访问

  • 相关阅读:
    li中下的a元素的字超出了li的宽度
    0 ‘+new Array(017)’ 输出? js+相当于Number()类型转换
    通过字体代替图片优化,如何使用Font Awesome字体图标?
    Array.prototype.slice.call()等几种将arguments对象转换成数组对象的方法
    js关于if()else{}中的判定条件的认识,各种数据类型转换为Boolean类型的转换规则
    js基本包装类型
    WordPress启用memcached动态缓存,弄了好久终于弄好了
    VsCode最实用插件集合
    Cordova--IOS打包问题汇总
    cordova--安卓打包
  • 原文地址:https://www.cnblogs.com/xiaoyaodijun/p/9790694.html
Copyright © 2011-2022 走看看