ASP.NET Core MVC 在linux上的創建及發布


前言

ASP.NET core轉眼都發布半月多了,社區最近也是非常活躍,雖然最近從事python工作,但也一直對.NET念念不忘,看過了園區大神們搭建的Asp.net core項目之后,自己也是躍躍欲試,准備搞一下ASP.NET Core mvc的創建和部署,於是便有了這篇文章,希望能夠幫助到你。

環境准備

這是我的開發環境,使用的nginx是nginx 1.6.3 直接yum install,然后需要安裝dotnet環境,可以參照官網教程https://www.microsoft.com/net/core#centos

然后使用yeoman創建一個asp.net core 項目 具體見官網https://aspnet-aspnet.readthedocs-hosted.com/en/latest/client-side/yeoman.html,因為我不知道如何通過dotnet指令創建aspnet core mvc項目,只好使用了這個。(后來找到了dotnet new -t web,這個指令也是創建mvc web項目的,可見我當時是多傻)

創建第一個web項目

mkdir demo1

cd demo1

dotnet new -t web

會在demo1目錄下生成一個web項目

 來看一下project.json

里面是一些項目依賴和build,publish以及runtime的選擇項。可以看到Microsoft.AspNetCore.Server.Kestrel,它是依賴Kestrel來監聽web的請求的。

執行dotnet restore 這個指令主要是尋找當前目錄下的項目文件(project.json),然后利用NuGet庫還原整個項目的依賴庫,然后遍歷每個目錄,生成項目文件,繼續還原該項目文件中的依賴項

然后實驗一下 dotnet run

這里是我修改了他的綁定地址為http://*:5000,因為默認的是localhost:5000,但是在外網訪問的時間是會有問題,,查了一下資料說是IP6和IP4的原因,所以使用了*,在Program.cs中使用UseUrls("http://*:5000")

然后瀏覽器訪問看一下效果:

 

然后我又做了nginxd的反向代理,yum install nginx,然后修改配置文件

然后執行 nginx -s reload 重啟nginx配置,接着啟動ASP.NET CORE 程序,向瀏覽器輸入121.42.184.123,結果如下: 

 

 

至此,asp.net core程序在linux上測試成功,可以繼續執行dotnet publish指令給程序打包發布,打包之后會生成一個publish文件夾:

 

 在瀏覽器訪問結果一樣。心情莫名激動,裝載大微軟。

嘗試着用supervisord管理ASPNET CORE項目的進程,但是由於配置問題沒搞好,周六抽空研究一下,接下來准備研究一下ASPNET CORE項目的源碼。后續學習也會一並寫出來,希望和大家一起進步,社區最近的活躍度讓我對.NET充滿了希望。願和各位一起加油。

參考資料 :https://aspnet-aspnet.readthedocs-hosted.com/en/latest/client-side/yeoman.html

      https://aspnet-aspnet.readthedocs-hosted.com/en/latest/

.NET學習技術交流群:226704167,願和各位一起進步!

 


免責聲明!

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



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