• ASP.NET Core部署到CentOS7,使用Nginx代理


    ASP.NET Core 的运行环境由新开发的 Kestrel Server 负责,IIS 退回到 HTTP 的侦听器的角色,微软也特别为了这个需求开发了 IIS Platform Handler,以处理 HTTP 与运行环境之间的信息转发工作,微软官方推荐在Linux服务器上使用Nginx,Haproxy等代理Kestrel Server,具体参考 http://weblog.west-wind.com/posts/2016/Jun/06/Publishing-and-Running-ASPNET-Core-Applications-with-IIS

    基础环境和相关软件准备

    一、CentOS7.1 64位系统(或者其他CentOS版本的64位系统)

    二、XShell软件(Windows环境下的Linux终端)

    三、.NetCore安装运行

        1.下载安装,下载地址,https://www.microsoft.com/net/download#core

        2.创建项目

        3.还原依赖库&运行程序

        4.发布程序&运行程序

        5.后台运行

    四、Nginx

        1.下载安装

        3.运行Nginx

        2.配制环境

        4.运行效果

    操作步骤

    一、虚拟机安装好CentOS7.1系统,并调试好网络

    二、安装好XShell软件

    三、.Net Core安装运行

    1、下载安装

          yum install libunwind libicu

          curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131

          sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet

          sudo ln -s /opt/dotnet/dotnet /usr/local/bin

          命令简单解释

          1)安装必要的支持包

          2)下载.Net Core安装包(有点大,需要耐心等待。。。。)

          3)解压安装包并将文件拷贝到/opt/dotnet目录

          4)在/usr/local/bin目录下创建一个名为dotnet的软链接文件指向 /opt/dotnet/dotnet文件,软链接理解为快捷方式即可

    2、创建.Net Core应用程序

           mkdir mvctest

           cd mtctest

           dotnet new mvc --auth None --framework netcoreapp1.1

           命令简单解释

           1)创建名为mvctest的目录

           2)进入该目录

           3)执行dotnet new命令创建一个.Net Core MVC项目 

     3、还原依赖库&运行程序

          dotnet restore

          dotnet run

          

          会运行在本机的localhost:5000端口,这时dotnet mvc项目已经跑起来了

         命令解释
         1)根据mvctest项目中的project.json配置文件来还原依赖库文件(其实就是Nuget从远端服务器上下载相关依赖文件)

         2)运行mvctest程序(默认访问地址为:http://localhost:5000)

    4、发布程序&运行程序

      第3步已经可以运行程序了,是Debug运行,发布后是Release运行,会有优化

          dotnet publish -c release

      

          dotnet run /root/web/mvc/bin/release/netcoreapp1.1/mvc.dll

         

     5、后台运行

          vim Start.sh,写入如下内容

          

           chmod +x Start.sh,给文件加入执行权限

           执行脚本,./Start.sh, 程序后台运行,可以关闭Shell窗口

           sh脚本语法

    四、Nginx

    1、下载安装

       yum install nginx  提示没有可用的软件包,因为nginx位于第三方的yum源里面,而不在centos官方yum源里面

         解决方案:安装epel;

       去epel官网: http://fedoraproject.org/wiki/EPEL下载;这里面东西有点多难找;

         参考网址

    2、运行Nginx    

      命令:systemctl start nginx 来启动nginx。

                      或者 service nginx start

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

                      或者chkconfig nginx on

          运行成功后可以进浏览器看一下Nginx是否能正常运行

    3、配制环境    

      1)配置防火墙

        命令:firewall-cmd --zone=public --add-port=80/tcp --permanent(开放80端口)

        命令:systemctl restart firewalld(重启防火墙以使配置即时生效)

      2)关闭SELinux ,使用getenforce 查询 

        临时关闭(不用重启机器):

          setenforce 0                  ##设置SELinux 成为permissive模式

          ##setenforce 1 设置SELinux 成为enforcing模式

        修改配置文件需要重启机器:

          修改/etc/selinux/config 文件

          将SELINUX=enforcing改为SELINUX=disabled

          重启机器即可

      3) 修改Nginx 配制,保存

                  命令: vim /etc/nginx/nginx.conf 

    server {
      listen 80;
      location / {
        proxy_pass http://localhost:5000;
      }
    }

          4) 重新加载Nginx配制文件

                 命令:nginx -t 测试配制文件是否正确

                 命令:nginx -s reload 重新加载nginx配制文件,不用重启nginx

    4、运行效果

  • 相关阅读:
    Warning:mailcious javascript detected on this domain来由
    CSS盒模型重新理解篇
    sublime生产力提升利器
    Aptana studio 3前端开发编辑器推荐
    Provides PHP completions for Sublime Text
    关于google电子地图跟卫星地图位置不重合
    无名前端库
    npm 编写cli
    webpack.merge
    ExcelDNA UDF 攻略
  • 原文地址:https://www.cnblogs.com/zxtceq/p/14173519.html
Copyright © 2020-2023  润新知