文章背景
微軟6月26號發布core 1.0版本后,園子里關於這方面的文章就更加火爆了,不管是從文章數量還是大家互動的熱情來看,絕對是最熱門的技術NO.1。我從去年底開始接觸.net core到現在也大半年了,一直停留在瀏覽各種帖子上,偶爾新建個項目敲幾行代碼練習一下。可是對於core最大的賣點——跨平台,一直沒法實際體驗一回,因為壓根沒接觸過Linux,完全不會那些命令,甚至虛擬機都沒玩過,想在Linux上實戰操作一下可想有多困難。雖然園子里很多文章都有教程,但大神們一開始直接就上各種命令代碼,看不懂啊
,不知道怎么下手。。。可是這些都不是阻擋自己的理由,那就從裝虛擬機開始一步一步來吧,中間各種蒙逼踩坑請教,於是有了這次的總結記錄
。
[特別感謝大學宿舍的基友濤哥和公司的架構師allen傾力助攻!]
廢話有點多,下面正式開擼。。。
1、激活windows系統中的Hyper-V虛擬機管理工具(微軟黨當然首選自家的東西啊)。
2、下載CentOS系統的鏡像文件,地址:
http://mirrors.aliyun.com/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
3、在Hyper-V中創建一個虛擬機(命名為centos),設置好虛擬機的各項參數,然后啟動虛擬機安裝系統,配置系統用戶(默認為root)。
4、安裝成功后連接上centos,出現下面的登錄請求:
用上一部設置的賬號登陸到系統(我這里是root),登錄成功后會顯示上次登錄的信息:
5、這時候虛擬機是沒有網絡的,我們需要新建一個網絡適配器,然后分給虛擬機:
然后本地網絡連接里會新增一個虛擬交換機:
指定一個同網段的ip,然后重啟虛擬機。登陸后開始設置網絡參數,輸入命令:
#vi /etc/sysconfig/network-scripts/ifcfg-eth0 //編輯配置文件
根據各自情況設定,然后按“ESC”退出編輯,輸入命令“:wq”保存本次編輯。然后輸入命令重啟網絡(實在不行重啟虛擬機):
# service network restart
然后ping一下百度的域名,看是否能連上網絡。一定要能上網,因為后面restore的時候要從網上下載依賴的程序集。
6、自帶的黑白屏非常不好用啊,這時候一個神奇的工具就要登場了-XShell,自行下載安裝,然后新建連接連到虛擬機,連接成功后:
7、機器准備完畢了,接下來就要配dotNet Core 的環境,也就是裝個SDK,我們去官網下載最新的,地址:https://go.microsoft.com/fwlink/?LinkID=809131,下載下來的文件名是dotnet-dev-centos-x64.1.0.0-preview2-003121.tar.gz。在虛擬機下載文件有兩種方式,第一種是使用wget命令(推薦,可以感受一下用命令操作的快感,hhhh~),機器需要裝wget工具。第二種是使用ftp傳,這時候需要使用Xshell的搭檔Xftp,下載安裝后從這里打開ftp:
使用過ftp工具的就太熟悉那個界面了,而且自動幫我們連接上了虛擬機,這樣對虛擬機的文件操作就方便多了,對不熟悉linux命令的我簡直太爽啊。
8、在root下新建一個文件夾“dotnet”用來放SDK,然后用ftp從本機把SDK壓縮包傳過來,接下來要用命令解壓,打開xshell依次輸入:
# cd dotnet //進入到dotnet目錄
# tar zxf dotnet-dev-centos-x64.1.0.0-preview2-003121.tar.gz //解壓文件
解壓完設置一下環境變量,輸入命令:
# vi /etc/profile //打開文件進行編輯
最后面加上:
PATH=~/dotnet:$PATH //dotnet為SDK的目錄
export PATH
然后按“ESC”退出編輯,輸入命令“:wq”保存本次編輯。執行如下命令使配置即時生效(不行的話重啟一下虛擬機):
# source /etc/profile
這樣環境就配置好了,測試一下“dotnet”命令能不能用,輸入:
# dotnet --version //查看dotnet版本
安裝成功的會打印出版本號:
9、萬事具備只欠程序啊!馬上新建個控制台程序來爽一下。在根目錄下依次輸入:
# mkdir dotnetcore_app //創建文件夾
# cd dotnetcore_app //進入文件
# dotnet new //新建一個core的控制台項目
# dotnet restore //從nuget下載程序的依賴包
# dotnet build //編譯項目
# dotnet run //運行項目
看到“hello world”出來心里真是好激動啊。
10、 接下來就想跑一個web項目玩玩,查了一下用命令創建web項目的話還要裝Yeoman和npm,就先不裝了,只用ftp把本地創建好的項目傳到虛擬機上,然后restore:
然后build:
然后run起來:
可以看到監聽端口5000(程序默認的)已經打開了,表示程序已經跑起來了,用虛擬機可以訪問這個地址,但是物理機是識別不了虛擬機的localhost,所以直接在物理機的瀏覽器中是訪問不了的,那怎么辦呢?
11、 找到程序中program的main方法,給host綁上虛擬機的地址和端口即可,一定要帶上http://,否則編譯報錯:
12、 然后重新build一下,最后再run起來:
13、 本機瀏覽器訪問網站,搞定:
前后花了差不多一天的時間,以上只記錄了操作順利的步驟,中間太多坎坷實在說不完,但最開心的是最終達到了自己的目標。
總結
1、一步一個腳印,總會看到曙光。
2、多踩坑,會讓自己更有經驗,印象更深刻。
3、重啟系統有時候是非常有效的排錯方式。
第一次在博客園發文章,好激動~
最后,希望能幫到很多像我這樣不懂linux但又想嘗試.net core的.net程序猿,大家一起學習進步!