【ASP.NET Core快速入門】(四)在CentOS上安裝.NET Core運行時、部署到CentOS
下載.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