1. 程式人生 > >【ASP.NET Core快速入門】(四)在CentOS上安裝.NET Core運行時、部署到CentOS

【ASP.NET Core快速入門】(四)在CentOS上安裝.NET Core運行時、部署到CentOS

ati libunwind serve code api cal 之前 prompt conn

下載.NET Core SDK

下載地址:https://www.microsoft.com/net/download/windows

技術分享圖片

第一步:Add the dotnet product feed(添加dotnet產品)

To start installing .NET, you‘ll need to register the Microsoft signature key and add the Microsoft Product feed. This only needs to be done once per machine.Open a command prompt and run the following commands(要開始安裝.NET,您需要註冊微軟簽名密鑰並添加微軟產品提要。這只需要每臺機器做一次。打開命令提示符並運行以下命令)

sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
sudo sh -c echo -e "[packages-microsoft-com-prod]\nname=packages-microsoft-com-prod \nbaseurl= https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod\nenabled=1\ngpgcheck=1\ngpgkey=https://packages.microsoft.com/keys/microsoft.asc" > /etc/yum.repos.d/dotnetdev.repo

第二步:Install the .NET SDK(安裝.NET SDK)

Update the products available for installation, install the components required by .NET, then install the .NET SDK.(更新產品可用於安裝組件的安裝,然後安裝所需的.NET,.NET SDK。)

sudo yum update
sudo yum install libunwind libicu
sudo yum install dotnet-sdk-2.0.2

安裝完成之後我們可以執行dotnet控制臺命令來創建dotnet項目了

創建core項目

在命令行執行 dotnet new --help 命令查看創建幫助

然後執行 dotnet new webapi -n helloCore 創建webapi項目

技術分享圖片

執行 cd helloCore命令進入helloCore文件夾

執行 dotnet run 運行webapi,可以看到現在webapi運行在5000端口

技術分享圖片

這時候訪問http://192.168.110.129:5000/無法訪問,原因是端口沒有打開

這時候程序已經運行了,不可能說停止服務之後再去打開,然後再重新啟動

這裏我們的做法是再重啟一個PuTTy

然後執行 curl http://localhost:5000/api/values查看api是否可以訪問

技術分享圖片

將helloVS項目部署到CentOS

發布之前vs創建的helloVS項目到文件夾,然後我們需要借助一個 FileZilla 工具將文件上傳到CentOS上面

技術分享圖片

在遠程站點輸入 \home 訪問home文件夾,然後再home文件夾下創建netcore文件夾

然後選擇發布的文件夾,將文件夾內的文件全部上傳上去

技術分享圖片

傳輸完成後我們繼續使用PuTTy軟件查看文件是否上傳成功

技術分享圖片

這時候執行dotnet helloVS.dll運行我們發布的內容

技術分享圖片

遇到以上問題的解決方法:

說明現在的平臺上的dotnet SDK不是2.0.3的,執行以下命令即可:

sudo yum install dotnet-sdk-2.0.3

安裝完成後,再次運行helloVS.dll

技術分享圖片

用PuTTy訪問5000端口curl http://localhost:5000

技術分享圖片

這裏可以看到網站已經可以訪問了

Nginx映射端口

進入nginx安裝目錄 cd /etc/nginx

技術分享圖片

查看nginx.conf

技術分享圖片

可以看到默認是吧所有的*.conf文件引入進來的

剛開始有默認的80端口的配置,我們要把它註釋掉

技術分享圖片

註釋後

技術分享圖片

這時候進入conf.d文件夾發現裏面並沒有任何文件

技術分享圖片

這時候我們創建一個netcore.conf文件,將80端口對5000對口進行轉發

技術分享圖片

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 -s reload 或者 systemctl restart nginx 進行重啟nginx

然後訪問80端口

這時候訪問發現有可能報502,找了很久才找到解決辦法

技術分享圖片

原因:SELinux配置問題。
解決:關閉SELinux。
輸入:sestatus,如果SELinux status: enabled ,表示開啟,輸入vi /etc/selinux/config 修改配置:SELINUX=disabled。

然後重啟CentOS

技術分享圖片

美滋滋~~~

【ASP.NET Core快速入門】(四)在CentOS上安裝.NET Core運行時、部署到CentOS