.NET Core 發佈最美 Linux/ElementaryOS 並實現 Nginx 反向代理訪問

好久沒寫博客了,今天分享一下 ASP.NET Core MVC 發佈部署【最美Linux】elementaryos-5.0-stable  服務器,並配置Nginx實現域名訪問:

一,Demo測試環境 =》操作系統:Windows 10 V1903版本,虛擬機:Hyper-V,虛擬機配置系統:elementaryos-5.0-stable.20181016;

步驟1:【準備工作】

準備一個虛擬機(比如Windows自帶的Hyper-V),Linux鏡像文件(此處使用elementaryos-5.0,好稱最美Linux),配置好Linux服務器;配置細節,自行百度,必應等;

步驟2:【安裝.NET Core SDK】,參考官網:https://dotnet.microsoft.com/download/linux-package-manager/ubuntu18-04/sdk-current;因爲elementaryos是ubuntu的一個分支,所以此處選擇ubuntu18.04-64;

2.1【註冊microsoft密鑰和feed】

在安裝.NET之前,您需要註冊Microsoft密鑰、註冊產品存儲庫和安裝所需的依賴項。每臺機器只需要完成一次。

打開終端並運行以下命令:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb

2.2【安裝.NET Core SDK】

更新可用於安裝的產品,然後安裝.NET Core SDK。

在您的終端中,運行以下命令:

sudo add-apt-repository universe
sudo apt-get install apt-transport-https
sudo apt-get update
sudo apt-get install dotnet-sdk-2.2

注:以上步驟執行完畢,可以在終端輸入如下命令查看 .net core sdk 版本;(此處安裝的是2.2.300版本)

dotnet --info

步驟3:【更新Linux服務器】,在終端輸入命令:

sudo apt-get update        
sudo apt-get upgrade       
sudo apt-get dist-upgrade  
sudo reboot

步驟4:【創建ASP.NET Core MVC項目】,在終端輸入命令:

dotnet new mvc -lang C# -o /home/chait/Demo/dotnet/
cd ./home/chait/Demo/dotnet
dotnet restore
dotnet run

此時可以在瀏覽器中輸入:http://localhost:5000 或 https://localhost:5001 查看編譯好的mvc網站,如下如所示:

或者也可以在終端使用wget查看網站,命令如下:

wget http://localhost:5000

 運行可看到如下信息如下:

步驟5:【安裝nginx】,在配置好的(虛擬)Linux服務器終端執行如下命令:

sudo apt-get install nginx

 查看nginx是否安裝成功,瀏覽器輸入:localhost 可以查看到 Welcome to nginx!

步驟6:【配置nginx反向代理】,實現ASP.NET Core MVC 網站訪問;

6.1使用 vi/vim 配置nginx的服務配置:

--sudo vi /etc/nginx/sites-available/default 
sudo vim /etc/nginx/sites-available/default

 將nginx的default配置替換成如下配置:

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

6.2測試配置:

sudo nginx -t

6.3重新加載nginx配置:

sudo nginx -s reload

此時在瀏覽器中輸入IP地址就可以訪問網站了,如果還想支持域名訪問發佈的ASP.NET Core MVC網站,可以在nginx配置中添加server_name,完整如下所示:

server {
    listen 80;
    server_name www.your_domain_name.com;
    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;
    }
}

注:www.your_domain_name.com 即爲你的域名,修改配置後,重新加載nginx配置:

sudo nginx -s reload

此時就可以通過域名訪問發佈的網站了;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章