EulerOS其實出來有一段時間了,一直在關註,單是僅僅也只是停留在觀望的階段,目前還沒有接入的打算;正好看到園子里的兄弟分享了華為雲免費試用的活動後,難捺激動的心情,我馬上去申請試用了一臺伺服器。 ...
在EulerOS試用.NETCore-3.1
#前言 EulerOS其實出來有一段時間了,一直在關註,單是僅僅也只是停留在觀望的階段,目前還沒有接入的打算;正好看到園子里的兄弟分享了華為雲免費試用的活動後,難捺激動的心情,我馬上去申請試用了一臺伺服器。先來看看官方的介紹(chuixu)
EulerOS是具備高安全性、高可擴展性、高性能、開放的企業級Linux操作系統平臺,能夠滿足客戶從傳統IT基礎設施到雲計算服務的各種需求。EulerOS對ARM64架構提供全棧支持,打造完善的從晶元到應用的一體化生態系統。
對於一個伺服器操作系統來說,這個介紹可以說很到位了,安全、高性能、開放(據說年底開源?),基於Linux,再加上華為全家桶,其實看起來還是蠻誘人的了。
#申請試用
申請試用的地址是:https://activity.huaweicloud.com/free_test/index.html,我看到試用居然有獎?看了詳細介紹後是要寫試用體驗,沒關係,中獎那都是順便的事,再說 Mate20 還是挺香的不是。
如果是打算寫體驗報告的同學,一定要選擇 KCl,然後選擇操作系統:EulerOS,這些準備工作完成,直接去支付後進入控制台等待主機創建完成就可以了
等待的過程有點無聊,大家可以去看看 EulerOS 的安裝文檔:https://obs.cn-north-1.myhuaweicloud.com/hweuleros/doc/cn/2.3/EulerOS%20V2.0SP3%20%E5%AE%89%E8%A3%85%E6%8C%87%E5%8D%97%EF%BC%88for%20ARM64%EF%BC%89.pdf
一旦主機創建完成,將會更新主機列表,會出現遠程IP地址和遠程登錄按鈕將變成可用狀態。
#遠程登錄 管理控制台界面,通過點擊“遠程登錄”按鈕進行 Web 控制台登錄,輸入賬號密碼後將出現屬性的黑色命令行控制台界面,有一個好習慣大家要堅持做,就是安裝完成後,先看看系統相關信息
##輸入 cat /proc/version
cat /proc/version
Linux version 4.19.36-vhulk1905.1.0.h276.eulerosv2r8.aarch64 (abuild@szxrtosci10000) (gcc version 7.3.0 (GCC)) #1 SMP Mon Apr 1 00:00:00 UTC 2019
##輸入CentOS命令: hostnamectl
[root@ecs-kc1-small-1-linux-20191213102631 ~]# hostnamectl
Static hostname: ecs-kc1-small-1-linux-20191213102631
Icon name: computer-vm
Chassis: vm
Machine ID: 678c78faca6d40c283240a5da1680b2c
Boot ID: 665694f713614100b7b86dd8550eb92a
Virtualization: kvm
Operating System: EulerOS 2.0 (SP8)
Kernel: Linux 4.19.36-vhulk1905.1.0.h276.eulerosv2r8.aarch64
Architecture: arm64
好奇怪,全支持各種 CentOS 命令,具體原因是什麼,咱也不知道咱也不敢問,挺好,不用學習新命令。既然如此,那就先來一個: yum update ,也很好,完全支持! 既然看起來一切和CentOS差不太多,那安裝 .NETCore 應該也是可以安裝CentOS來了,下麵試試:
[root@ecs-kc1-small-1-linux-20191213102631 ~]# rpm -Uvh https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
Retrieving https://packages.microsoft.com/config/centos/7/packages-microsoft-prod.rpm
Verifying... ################################# [100%]
Preparing... ################################# [100%]
Updating / installing...
1:packages-microsoft-prod-1.0-1 ################################# [100%]
##安裝SDK
[root@ecs-kc1-small-1-linux-20191213102631 ~]# yum install dotnet-sdk-3.1
packages-microsoft-com-prod 294 kB/s | 762 kB 00:02
Last metadata expiration check: 0:00:01 ago on Fri 13 Dec 2019 02:51:13 PM CST.
Error:
Problem: conflicting requests
- package dotnet-sdk-3.1-3.1.100-1.x86_64 does not have a compatible architecture
- nothing provides aspnetcore-runtime-3.1 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
- nothing provides dotnet-runtime-3.1 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
- nothing provides aspnetcore-targeting-pack-3.1 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
- nothing provides dotnet-targeting-pack-3.1 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
- nothing provides dotnet-apphost-pack-3.1 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
- nothing provides netstandard-targeting-pack-2.1 >= 2.1.0 needed by dotnet-sdk-3.1-3.1.100-1.x86_64
卧槽出錯了,不過沒關係,手動檔我賊溜。
#手動安裝 ##執行下麵的命令,下載 Linux arm64 包包後進行解壓安裝
mkdir /opt/dotnet31
cd /opt/dotnet31
wget https://download.visualstudio.microsoft.com/download/pr/5a4c8f96-1c73-401c-a6de-8e100403188a/0ce6ab39747e2508366d498f9c0a0669/dotnet-sdk-3.1.100-linux-arm64.tar.gz
tar -zxvf dotnet-sdk-3.1.100-linux-arm64.tar.gz
##檢查是否成功
[root@ecs-kc1-small-1-linux-20191213102631 dotnet31]# /opt/dotnet31/dotnet --version
3.1.100
這回真的是Euler。你看都到這一步了,乾脆就弄個環境變數是吧,執行命令
vi /etc/profile
// 定位到文件末尾,加入下麵的命令
PATH=$PATH:/opt/dotnet31
export PATH
保存,執行 source /etc/profile 使其生效
#創建一個.NETCore項目
mkdir /home/dotnetDemo
cd /home/dotnetDemo
dotnet new webapi
由於預設啟用了https,為了避免不要的麻煩,我們需要手動關閉https,編輯 vi Properties/launchSettings.json,將sslPort設置為0,applicationUrl中只保留 http 的地址即可。
{
...
"iisSettings": {
"iisExpress": {
"sslPort":0
}
},
"profiles": {
...
"dotnetDemo": {
...
"applicationUrl": "http://localhost:5000",
}
}
}
##運行項目dotnet run
##訪問項目介面 .NETCore3.1生成的webapi項目自帶了天氣預報的demo,再也不是2.0中那種無意義的valu1/value2了(比心)
#結束語 整體來說,在終端上的操作體驗,和CentOS幾乎沒有差別,我就是找不到包管理的官方文檔,所以只好手動安裝了,EulerOS作為鯤鵬的標配,感覺還是有所期待的,但是從OS的技術層面來說,EulerOS還需努力,廣大的程式員們不用太擔心,國產操作系統已在持續發力中,給點時間,我們應該可以做得更好。