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

第一步:Add the dotnet product feed(添加dotnet產品)
官方安裝說明:https://dotnet.microsoft.com/download
Before installing .NET, you'll need to register the Microsoft key, register the product repository, and install required dependencies. This only needs to be done once per machine.(在安裝.NET之前,您需要注冊Microsoft密鑰,注冊產品存儲庫並安裝所需的依賴項。 這只需要每台機器完成一次。)
sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
第二步:Install the .NET SDK(安裝.NET SDK)
Update the products available for installation, then install the .NET SDK.(更新可用於安裝的產品,然后安裝.NET SDK。)
Update the products available for installation, then install the .NET Runtime.(更新可用於安裝的產品,然后安裝.NET Runtime。
sudo yum update # 安裝SDK sudo yum install dotnet-sdk-2.2 # 運行時 sudo yum install aspnetcore-runtime-2.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; proxy_set_header X-Forwarded-For proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-Proto $scheme; } }
配置完成之后執行 nginx -s reload 或者 systemctl restart nginx 進行重啟nginx
然后訪問80端口
這時候訪問發現有可能報502,找了很久才找到解決辦法

原因:SELinux配置問題。
解決:關閉SELinux。
輸入:sestatus,如果SELinux status: enabled ,表示開啟,輸入 vi /etc/selinux/config 修改配置: SELINUX=disabled 。
或者
CentOS: 將NGINX加到SELinux的允許名單
yum install policycoreutils-python
cat /var/log/audit/audit.log | grep nginx | grep denied | audit2allow -M mynginx
semodule -i mynginx.pp
然后重啟CentOS

美滋滋~~~
