.Net Core 跨平台系列之環境部署


前言

  • 作為一名.NET程序員,很多時候都會被什么拖控件、跨平台等字眼所鄙視過,但是在我的的內心還是沒有把自己看低過。因為說到底,平台和語言只是我們吃飯的工具。很多時候公司的發展是取決於商業競爭的,微軟也不例外。在大環境下,我們終於看到了微軟給我們帶來的跨平台的驚喜。盡管這只是剛剛開始,但我相信在不久的將來,我們能切實感受到NET Core給我們的誠意,我們也會一直伴隨着它成長着。
  • 當我們想要迫切知道它在Linux平台下給我們帶來的驚喜時,我開始搜索各種資料,卻發現它的平台部署並不是那么容易(這主要取決於Linux系統的類型和版本,以及一些相關依賴文件的缺失)。下面我就對自己的部署環境做一個記錄,以便幫助大家減少部署環境中帶來的困惑。

系統環境

  • 本地機器:Windows7 x64 旗艦版
  • 虛擬機:Vmware Workstation 10.0.1 build-1379776
  • Linux: ubuntu-14.04.3-desktop-amd64.iso

  如對虛擬機和Ubuntu的安裝不清楚的請自行百度。安裝完成后,為了適應屏幕的變化以及主機和虛擬機之間文件的復制操作,我們可以安裝VMware Tools,具體參照這篇文章

環境部署

  • 安裝程序代碼編輯器visual studio Code,到官網下載最新版本,地址:https://code.visualstudio.com/download 選擇編譯后的.zip的文件下載。

    

 

    下載后直接解壓壓縮包,雙擊code就可以打開文件編輯器,打開后就可以Lock Launcher,方便以后打開

    

  

  • 安裝DNVM(NET Version Manager),利用它可以在Linux上管理安裝不同版本的.NET 運行環境DNX(.NET Execution Environment),輸入以下命令:

         sudo apt-get install unzip curl

         curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh |   DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh

 

    安裝成功后,可以輸入DNVM 命令查看到以下界面:

    

 

  • 安裝.NET 運行環境DNX(.NET Execution Environment),可以理解為NET CORE 的CLR,輸入以下命令:

     sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev

     dnvm upgrade -r coreclr

 

    安裝完成后,可以輸入dnx查看以下界面:

    

 

    並且我們也可以輸入dnvm list 查看到服務器上安裝的net版本列表

    

  

  • 安裝Web服務器Libuv,libuv是Kestrel所使用的一個多平台的異步IO庫,它是一個跨平台的HTTP服務器,可以托管運行ASP.NET 5 Web應用程序。輸入以下命令:

         sudo apt-get install make automake libtool curl

         curl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/src

         cd /usr/local/src/libuv-1.8.0

         sudo sh autogen.sh

         sudo ./configure

         sudo make

         sudo make install

         sudo rm -rf /usr/local/src/libuv-1.8.0 && cd ~/

         sudo ldconfig

 

  • 安裝NodeJS,為什么要安裝NodeJS呢?為后面安裝的Net模板工具所需要。具體步驟可以參考這篇文章

  • 安裝Yeoman,它是在 Node.js 之上生成的基架平台,使你能夠為項目或代碼文件生成基於模板的生成器。輸入以下命令:

         npm install -g yo bower grunt-cli gulp

         npm install -g generator-aspnet

控制台程序

     在命令終端輸入以下命令 sudo su

     以root用戶操作,例如我們現在在桌面建立一個為Demo的文件夾,控制台程序文件放入此目錄,首先轉到Demo的根目錄下,然后運行yo aspnet,你會看到以下界面:

    

    

    選擇Console Application,回車創建我們的控制台應用程序,可以輸入程序的名稱

    

    

    此時程序已經創建成功,我們打開Visual studio Code 來查看此工程的源碼,打開后選擇此工程的文件名稱ConsoleApplication(應為上圖使用的是默認的名稱)

    

    

 

   進入程序根目錄,編譯程序,然后執行程序可以看到運行結果為Hello World,在終端以普通用戶輸入以下命令:

    

    

    

    

Web程序

 

    例如我們的Web程序也創建在桌面的Demo文件下,按照上面的方法在root用戶下轉到Demo文件夾,運行yo aspnet  選擇Web Application程序創建Web程序。

    

    

    在終端以普通用戶轉到Demo/WebApplication目錄下運行dnu restore,加載web程序需要引用的依賴庫文件。如下圖:

      

    輸入dnx web命令啟動web服務器

    

    

    在瀏覽器中輸入http://localhost:5000/ 可以看到運行的web程序如下圖顯示:

    

 

    

  • 到此,我們終於完成了Linux下NET平台的建設,安裝過程中可能會應為環境的不同而出現一些錯誤,這些錯誤可以按照錯誤的提示在網上搜索答案。安裝的程序包建議都到官網進行下載,保持最新版本,避免版本不同帶來錯誤。

 

參考資料

Installing ASP.NET 5 On Linux

理解ASP.NET 5運行時命令:DNVM, DNX, 和DNU

Setting up Visual Studio Code

ubuntu14.04安裝nodejs基礎環境

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM