開發環境介紹
1.操作系統:Windows Server 2008 R2 Enterprise
2.IDE:VisualStudio2017
3..Net Core 2.0 SDK
本文假設你已經滿足上述條件。且會自行創建.net core2.0項目並發布成功。
下載.Net Core 2.0 SDK
1.准備一台裝了centos7的機器,IP設置為:192.168.1.10
2.下載適合centos7的.Net Core 2.0 SDK
下載地址:https://www.microsoft.com/net/download/linux
3.拷貝到centos7
進入centos7,創建/soft目錄:
[root@localhost soft]# mkdir /soft
通過WinSCP工具將下載下來的dotnet-sdk-2.0.0-linux-x64.tar.gz拷貝到/soft目錄
安裝.Net Core 2.0 SDK
1.解壓:
[root@localhost ~]# cd /soft
[root@localhost soft]# mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-2.0.0-linux-x64.tar.gz -C $HOME/dotnet
這條命令是微軟官方提供的,解壓到:/root/dotnet下。
2.編輯profile文件:
[root@localhost soft]# vi /etc/profile
拷貝“export PATH=$PATH:$HOME/dotnet”到文件底部,保存並退出。
刷新profile
[root@localhost soft]# source /etc/profile
3.查看dotnet版本:
[root@localhost soft]# dotnet –version
4.完蛋玩意,報異常了:
Failed to load , error: libunwind.so.8: cannot open shared object file: No such file or directory
Failed to bind to CoreCLR at '/root/dotnet/shared/Microsoft.NETCore.App/2.0.0/libcoreclr.so'
不怕,因為我們沒有安裝libunwind,只要安裝下即可,執行以下命令:
[root@localhost soft]# yum install libunwind
5.再次執行上述命令:
[root@localhost soft]# dotnet –version
6.操,還報異常:
FailFast: Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
還能不能好好的玩耍了?這個提示告訴我們沒有安裝ICU,執行以下命令:
[root@localhost soft]# yum install icu
7.再次執行上述命令:
[root@localhost soft]# dotnet --version
這就說明安裝成功。
運行asp.net core程序
1.修改Program.cs的BuildWebHost方法
很明顯,加了這行代碼,我們不僅能用80端口訪問,5000端口也可以。
2.開啟端口
要想外部機器也能訪問,還需要開啟80端口和5000端口
[root@localhost coredemo]# firewall-cmd --zone=public --add-port=80/tcp --permanent
[root@localhost coredemo]# firewall-cmd --zone=public --add-port=5000/tcp --permanent
重啟防火牆
[root@localhost coredemo]# firewall-cmd –reload
3.發布asp.net core程序,並用WinSCP工具拷貝到centos7的/soft目錄
我建立的項目名稱叫做:coredemo,所以大家在這里看到的就是:coredemo。
[root@localhost soft]# cd /soft/coredemo/
[root@localhost coredemo]# dotnet coredemo.dll(自己項目的項目名稱)
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35] No XML encryptor configured. Key {6dfc9509-6201-47f6-a534-f5069ad5615f} may be persisted to storage in unencrypted form. Hosting environment: Production Content root path: /soft/coredemo Now listening on: http://192.168.1.10:5000 Now listening on: http://192.168.1.10:80 Application started. Press Ctrl+C to shut down.
出現這個提示就表示我們的asp.net core程序可以正常運行了。
4.訪問
在另外一台機器的瀏覽器上輸入地址:http://192.168.1.10和http://192.168.1.10:5000/都可以訪問
好,大功告成。