Net Core 網站搭建和部署
.Net Core MVC環境安裝開發
[TOC]
最近在學習 .net core mvc框架下的開發,因此有些學習體驗可以提供給大家,全部都是自己在學習過程中總結的乾貨。包含Windows、Mac、CentOS等環境下遇到的問題以及解決方法。
本人也是小白,只是在學習過程中發現這一塊兒遇到的問題網上資料太少,所以就將自己的學習經歷記錄下來,希望對後來者學習有所幫助
一、dotnet SDK 和Runtime的下載和安裝
對於windows用戶和Mac用戶這一步就很簡單了。直接在官網上下載對應的安裝包進行安裝就行了。但是一定要記住一點,那就是版本一定要一致,否則你會在後面踏進很多坑,特別是對於多平台開發的同學。
二、創建MVC項目
編輯器推薦VSCode
在要創建項目的地址創建一個文件夾,例如Demo,然後在命令行模式下進入到當前的目錄,例如我這裡是D:Demo
以下代碼都可以在VSCode中直接輸入,操作步驟是"查看 => 集成終端"
新建項目之後可以看到文件夾下已經生成了對應的文件
這個時候我們執行 命令,可以安裝項目的依賴文件。執行 命令後就可以在本地 的地址上訪問到界面。
最終,我們需要發布項目,執行 命令就可以將項目發布到當前文件夾的 下,需要部署時只要將publish文件夾複製到伺服器上進行部署即可。
三、項目部署到伺服器
部署之前一定要確定項目編譯通過無錯誤,並且已經安裝dotnet-sdk 以及 dotnet-runtime,兩者版本要一致!兩者版本要一致!兩者版本要一致!
在IIS伺服器上部署:
在IIS上部署相對要簡單很多,畢竟都是自家玩意兒,只需要在IIS上新建一個網站,然後選擇基本設置,將物理路徑選擇自己項目的路徑即可。
在CentOS伺服器上部署:
在Linux伺服器上部署的步驟就多了些。首先,依然是要確定項目編譯通過無錯誤,並且已經安裝dotnet-sdk 以及 dotnet-runtime,兩者版本要一致!兩者版本要一致!兩者版本要一致!
然後,我們需要安裝Jexus,通常情況下,對外提供的 Web 服務都在 80或者443 埠,而我們的 Web 應用程序默認運行在5000埠,在 Windows 上可以使用 IIS 來宿主 ASP.NET Core,在 Linux 下可以用 Nginx,Apache,Jexus 等來作為宿主。本實驗向大家推薦使用國內社區自行開發的 Jexus。
以下內容假設你的項目名稱是aspetcoreapp,並且publish文件放置在/var/www/aspnetcore下
執行命令安裝獨立版的 Jexus:
執行命令將 asp.net core 應用部署到 Jexus
執行命令啟動服務監聽埠
創建 aspnetcore 配置文件
修改 aspnetcore 配置文件為如下內容
執行命令刪除原有默認配置文件
執行命令啟動 Jexus
恭喜,您的 ASP.NET Core Web 應用運行成功,使用瀏覽器直接訪問 你的IP地址 即可看到 項目的 效果。
四、學習過程中遇到的問題和解決方法
1、網站部署之後輸入網址出現 的問題2、使用 和 命令時出現如下錯誤3、網站部署後訪問地址出現拒絕訪問或者找不到頁面的問題
##### 解決出現以上三個問題請:
檢查自己的dotnet版本是否統一(跨平台開發一定要注意這一點,否則無法編譯、發布)
dotnet-SDK 和 dotnet-runtime 是不是都安裝了,特別是dotnet-runtime
linux伺服器下第一次安裝或配置Jexus建議重啟一下伺服器再啟動Jexus服務
在項目文件.csproj文件中添加如下內容
五、總結
以上就是我在.net core項目開發和部署中遇到的坑,希望能給後來學習的朋友一點幫助,有什麼疑問的可以留言。
TAG:MrArthas |