1. 程式人生 > >將ASP.NET Core部署到CentOS7,使用Nginx代理

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

執行 emctl zone netcore 網址 selinux firewalld nload nginx

基礎環境和相關軟件準備

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

二、XShell軟件(Windows環境下的Linux終端)

三、.NetCore

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

2.創建項目

3.還原依賴庫&運行程序

四、Nginx

1.下載安裝

2.配制環境

操作步驟

一、虛擬機安裝好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項目已經跑起來了,虛擬機外訪問還需要借助於Nginx

命令解釋
1)根據mvctest項目中的project.json配置文件來還原依賴庫文件(其實就是Nuget從遠端服務器上下載相關依賴文件)

2)運行mvctest程序(默認訪問地址為:http://localhost:5000)


四、Nginx

1、下載安裝

  yum install nginx 提示沒有可用的軟件包,

解決方案:安裝epel;

  去epel官網: http://fedoraproject.org/wiki/EPEL下載;這裏面東西有點多難找;

參考網址

2、運行Nginx

  命令:systemctl start nginx 來啟動nginx。

  命令:systemctl enable nginx 來設置nginx的開機啟動(linux宕機、重啟會自動運行nginx不需要連上去輸入命令)。

3、配制環境

  1)配置防火墻

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

    命令:systemctl restart firewalld(重啟防火墻以使配置即時生效)

  2)關閉SELinux

    臨時關閉(不用重啟機器):

      setenforce 0 ##設置SELinux 成為permissive模式

      ##setenforce 1 設置SELinux 成為enforcing模式

    修改配置文件需要重啟機器:

      修改/etc/selinux/config 文件

      將SELINUX=enforcing改為SELINUX=disabled

      重啟機器即可

  3) 修改Nginx 配制,保存

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

     location / {
       proxy_pass http://localhost:5000;
     }

4) 重新加載Nginx配制文件

命令:nginx -t 測試配制文件是否正確

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

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