【新手出發】從搭虛擬機開始,一步一步在CentOS上跑起來.Net Core程序

文章背景

       微軟6月26號發佈core 1.0版本後,園子裏關於這方面的文章就更加火爆了,不論是從文章數量仍是你們互動的熱情來看,絕對是最熱門的技術NO.1。我從去年末開始接觸.net core到如今也大半年了,一直停留在瀏覽各類帖子上,偶爾新建個項目敲幾行代碼練習一下。但是對於core最大的賣點——跨平臺,一直無法實際體驗一回,由於壓根沒接觸過Linux,徹底不會那些命令,甚至虛擬機都沒玩過​,想在Linux上實戰操做一下可想有多困難。雖然園子裏不少文章都有教程,但大神們一開始直接就上各類命令代碼,看不懂啊,不知道怎麼下手。。。但是這些都不是阻擋本身的理由,那就從裝虛擬機開始一步一步來吧,中間各類蒙逼踩坑請教,因而有了此次的總結記錄linux

 

  [特別感謝大學宿舍的基友濤哥和公司的架構師allen傾力助攻!]web

 

廢話有點多,下面正式開擼。。。

一、激活windows系統中的Hyper-V虛擬機管理工具(微軟黨固然首選自家的東西啊)。shell

 

二、下載CentOS系統的鏡像文件,地址:npm

http://mirrors.aliyun.com/centos/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.isowindows

 

三、在Hyper-V中建立一個虛擬機(命名爲centos),設置好虛擬機的各項參數,而後啓動虛擬機安裝系統,配置系統用戶(默認爲root)。centos

 

 

四、安裝成功後鏈接上centos,出現下面的登陸請求:瀏覽器

 

用上一部設置的帳號登錄到系統(我這裏是root),登陸成功後會顯示上次登陸的信息:網絡

 

 

五、這時候虛擬機是沒有網絡的,咱們須要新建一個網絡適配器,而後分給虛擬機:架構

 

而後本地網絡鏈接裏會新增一個虛擬交換機:app

 

指定一個同網段的ip,而後重啓虛擬機。登錄後開始設置網絡參數,輸入命令:

#vi  /etc/sysconfig/network-scripts/ifcfg-eth0         //編輯配置文件

 

根據各自狀況設定,而後按「ESC」退出編輯,輸入命令「:wq」保存本次編輯。而後輸入命令重啓網絡(實在不行重啓虛擬機):

# service  network  restart

而後ping一下百度的域名,看是否能連上網絡。必定要能上網,由於後面restore的時候要從網上下載依賴的程序集。

 

六、自帶的黑白屏很是很差用啊,這時候一個神奇的工具就要登場了-XShell,自行下載安裝,而後新建鏈接連到虛擬機,鏈接成功後:

 

 

七、機器準備完畢了,接下來就要配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命令的我簡直太爽啊。

 

八、在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版本

安裝成功的會打印出版本號:

 

 

九、萬事具有隻欠程序啊!立刻新建個控制檯程序來爽一下。在根目錄下依次輸入:

# mkdir dotnetcore_app     //建立文件夾

# cd dotnetcore_app       //進入文件

# dotnet new             //新建一個core的控制檯項目

 

# dotnet restore           //從nuget下載程序的依賴包

 

# dotnet build             //編譯項目

 

# dotnet run               //運行項目

 

看到「hello world」出來內心真是好激動啊。

 

十、            接下來就想跑一個web項目玩玩,查了一下用命令建立web項目的話還要裝Yeoman和npm,就先不裝了,只用ftp把本地建立好的項目傳到虛擬機上,而後restore:

 

而後build:

 

而後run起來:

 

能夠看到監聽端口5000(程序默認的)已經打開了,表示程序已經跑起來了,用虛擬機能夠訪問這個地址,可是物理機是識別不了虛擬機的localhost,因此直接在物理機的瀏覽器中是訪問不了的,那怎麼辦呢?

 

十一、            找到程序中program的main方法,給host綁上虛擬機的地址和端口便可,必定要帶上http://,不然編譯報錯:

 

 

十二、            而後從新build一下,最後再run起來:

 

 

1三、            本機瀏覽器訪問網站,搞定:

 

 先後花了差很少一天的時間,以上只記錄了操做順利的步驟,中間太多坎坷實在說不完,但最開心的是最終達到了本身的目標。

 

總結

一、一步一個腳印,總會看到曙光。

二、多踩坑,會讓本身更有經驗,印象更深入。

三、重啓系統有時候是很是有效的排錯方式。

 

第一次在博客園發文章,好激動~

 

最後,但願能幫到不少像我這樣不懂linux但又想嘗試.net core的.net程序猿,你們一塊兒學習進步!

相關文章
相關標籤/搜索