在ubuntu16.04中初次體驗.net core 2.0


  .net core運行在Linux中的例子、文章已經很多了,看了一些之后也想體驗一下,順便記錄一下……

  環境:win10 1709、它內置的Linux子系統(這里安裝的是Ubuntu 16.04)

  一、安裝Ubuntu 16.04

  1、啟用win10中內置的Linux

  到了win10 1709,內置的Linux已經不是Beta版了,"控制面板\程序\程序和功能",點擊“啟用或關閉Windows功能”,啟用“適用於Linux的Windows子系統”

  2、安裝Linux

  在cmd中輸入bash,它會提示你到微軟應用商店下載,網址:https://aka.ms/wslstore,在瀏覽器中輸入該網址會自動打開微軟應用商店

  

  我選擇的是Ubuntu,版本是16.04 LTS,文件很小只有不到200MB

  如上圖,這樣你就安裝成功了,這里固定到了開始屏幕方便下次使用……第一次打開,首先會讓你輸入用戶名和密碼:

  之后你可以輸入:lsb_release -a 查看Linux的版本:

  沒想到就像裝軟件一樣簡單,軟件有他的安裝目錄,也想知道Linux的文件系統放在什么地方......找了半天終於找到了:C:\Users\XXX\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState\rootfs

  二、安裝.net core2

  這個比較簡單,參照官方的基本上沒問題,參考網址:https://github.com/dotnet/core/blob/master/release-notes/download-archive.md 

  安裝.NET Core SDK 2.0.2 with .NET Core 2.0.0

  安裝成功之后,查看dotnet 信息 : dotnet --info

  查看dotnet自帶的模板:dotnet new --list

  三、跑一個MVC模板

  1、新建一個工作目錄

  2、新建一個MVC應用程序: dotnet new mvc -n test1   新建成功並跑一下程序,切換到程序根目錄之后執行命令: dotnet run

  3、在瀏覽器鍵入 http://localhost:5000/ (大神說:Linux和win10共享網絡)

  4、停止應用程序

  5、之后我們發布一下 dotnet publish -c release

  6、切換到“publish”目錄,執行命:dotnet test1.dll

  四、安裝nginx

  1、sudo apt-get install nginx

  2、查看一下 nginx是否安裝成功,並順便看一下幫助:nginx -h

  3、啟動nginx :sudo service nginx start

  第一次失敗了,不知道什么原因,由於是linux小白,查了半天,才知道nginx有 -t 這種命令,試了一下

  檢測發現80 端口被占用,安裝Ubuntu之后什么都沒干怎么就80被占用呢?在印證了和win10共享網絡。修改了一下nginx的配置文件 etc\nginx\sites-available\default

  再次檢查就沒有問題了

  4、配置代理,再次修改配置文件

  5、訪問10020 

  哦,MVC應用程序關了!!!再次啟動

  又報了一大推錯誤,原來應用程序的根目錄沒有配置(上面有張圖中已經圈出),在修改nginx配置文件

  再次訪問終於搞定了,這次的錯誤就不管了……

  五、安裝supervisor

  1、安裝 sudo apt-get install supervisor

  2、查看supervisor是否安裝成功

  3、配置

  在 etc/supervisor/conf.d 目錄下 新建test.conf 輸入以下內容,根據你的應用程序而定

  啟動supervisor 服務:sudo service supervisor start ,在執行以下這個命令:sudo supervisord -c /etc/supervisor/supervisord.conf  如果遇到這個錯誤

 

Error: Another program is already listening on a port that one of our HTTP servers is configured to use.  Shut this program down first before starting supervisord.
For help, use /usr/bin/supervisord -h

 

    可以先執行這個命令:sudo unlink /var/run/supervisor.sock  然后在檢查就沒問題了

  在檢測以下你的配置程序是否成功:ps -ef|grep test1

  如果出現dotnet test1.dll 則說明成功了。

  現在我們試試訪問http://localhost:5000 ,可以正常訪問,這里就不截圖了,圖片太多了…… 至此在沒有手動在publish目錄下執行dotnet test1.dll的情況下就可以訪問http://localhost:5000/ 了 

  現在我們在啟動nginx ,利用IP地址訪問:http://192.168.1.8:10020/

  至此,安裝Ubuntu、.net core2、mvc demo、安裝並配置nginx代理、安裝並配置supevisor守護進程全部,操練完畢。哈哈

  2017-11-10 更新

  1、https://github.com/Microsoft/WSL

  2、win10 安裝Linux子系統官方文檔:https://msdn.microsoft.com/zh-cn/commandline/wsl/install-win10 

  3、使用 Nginx 在 Linux 上為 ASP.NET Core 設置托管環境,並對其進行部署

  4、本來也想為supevisor守護進程設置開機啟動,但是沒有弄出來,所以本文也沒有提供。今天發現了這個:Failed to get properties: Launch helper exited 。不知道是不是win10中的Linux 還不支持systemctl? Linux方面不是很了解。如果有了解的,請不吝賜教,非常感謝!!! 

 


免責聲明!

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



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