.net core運行在Linux中的例子、文章已經很多了,看了一些之後也想體驗一下,順便記錄一下…… 環境:win10 1709、它內置的Linux子系統(這裡安裝的是Ubuntu 16.04) 一、安裝Ubuntu 16.04 1、啟用win10中內置的Linux 到了win10 1709,內置 ...
.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自帶的模板: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守護進程全部,操練完畢。哈哈