在 Azure 上部署 Asp.NET Core Web App

sparkdev發表於2017-04-16

在雲端計算大行其道的時代,當你要部署一個網站時第一選擇肯定是各式各樣的雲端服務。那麼究竟使用什麼樣的雲端服務才能夠以最快捷的方式部署一個 ASP.NET Core的網站呢?Azure 的 Web App 服務是個很好的選擇。

下面我們會透過 Visual Studio 建立一個 Asp.net Core demo 應用,然後把這個 demo 應用部署到 Azure Web App。透過閱讀本文,您將能瞭解到如何建立 Asp.NET Core 應用程式和如何在Azure上建立 Web App 並部署 Asp.NET Core 應用。

Azure Web App 是什麼?

Web App 是 Azure 提供的用於執行網站和 Web 應用程式的計算資源。如果要簡單的打個比方,您可以把它理解為 IIS 下的一個虛擬目錄。我們只要把 Web 應用上傳到指定的地方它就能提供 Web 服務了。
Azure Web App 具有很多的有點,但我想在這裡強調的只有一個:簡單!

建立 Asp.NET Core 應用

想透過 Visual Studio 建立 Asp.net Core 應用需要先安裝 .net core vs tool,詳細資訊請參考這裡。下面我們先建立一個 Asp.NET Core demo 應用。
開啟 Visual Studio 新建工程,選擇 Web->ASP.NET Core Web Application (.NET Core) 模板。

在新建 ASP.NET Core Web Application (.NET Core) 對話方塊中選擇 “Web Application” 模板。然後修改 Authentication 的型別為 “Individual User Accounts” 。此時透過模板建立的應用就會包含使用者管理的模組。同時取消 “Host in the cloud” 的選項,然後點選 OK 按鈕。

Demo 程式就算建立完成了,但是要想讓它正確的執行起來還需要一點點的設定。

按 F5 在本地執行 demo 應用,點選 “Register” 去註冊一個新的使用者。當您填完資訊並按下 “Register” 按鈕後會收到下面的錯誤:

大體的意思是說資料庫沒有設定好,解決的辦法也都在上面說了,一共有三種:
1.    直接點選 “Apply Migrations” 按鈕。
2.    在 Visual Studio 的 Package Manager Console 中執行 “Update-Database” 命令。
3.    執行 dotnet ef database update 命令。

這裡選擇第二種方式:

然後重新啟動網站並註冊新使用者,一切 OK!
到此,Asp.NET Core Web 應用的建立就完成了。

建立 Azure Web App

可以透過不同的方式建立 Azure Web App 服務,比如直接在 Azure 網站上建立。也可以透過 Visual Studio 在釋出應用的過程中直接建立 Azure Web App。下面我們將透過演示介紹使用 Visual Studio 建立 Azure Web App 的詳細步驟。
右鍵已建立的專案名稱,選擇 “Publish”。

這一步需要您輸入您的MS訂閱賬號(Azure上的一切資源都是透過您的賬號進行管理的),登入完成後點選 new 按鈕開始建立過程:

預設的 Service 型別就是 Web App,所以不需要再進行配置。下面選擇或者建立 Resource Group/App Service Plan。這裡稍微解釋一下,Resource Group 是資源管理的邏輯單位,可以透過 Resource Group 管理其包含的資源,主要是進行授權。App Service Plan 簡單點說就是管理您的資源分配,您花費一塊錢和十塊錢顯然是會分配到不同的資源。然後點選“Explore additional Azure services”開始建立資料庫。

我們的應用中用到了資料庫,所以需要在 Azure 上建立資料庫。現在進入資料庫建立流程,點選右側綠色的加號:

資料庫的建立包含兩部分。首先要建立 SQL Server 資料庫伺服器,然後在資料庫伺服器上建立資料庫例項。
因此在建立資料庫時需要先建立資料庫伺服器:

下面是建立新的資料庫伺服器的介面,請輸入合適的資料庫伺服器名稱,並設定好您的使用者名稱和密碼,然後點選 OK 按鈕:

接下來又回到了建立資料庫的介面,此時的資料庫伺服器已經設定好了,只要再輸入資料庫的名稱就可以了。然後點選 OK 按鈕進入下一步:

下面是新增完資料庫配置的樣子,直接點 Create 按鈕完成所有配置的建立:

至此,我們已經完成了 Azure Web App 和雲端資料庫的建立。接下來看我們如何把 Asp.NET Core  應用釋出到 Azure Web App 上去。

部署 Asp.NET Core 應用

在完成了 Azure Web App 的建立後我們回到部署過程。在 Connection 選項卡中,其實我們看到的設定都是預設值,沒有特殊要求的話是不需要修改的。點選進入Settings 選項卡:

基本的配置使用預設值就可以了。我們需要選擇使用資料庫的連線字串,和 Apply this migration on publish 就可以了。然後點選 Publish 按鈕完成往雲端的釋出:

根據您的網路狀況,釋出過程可能會持續上一小會兒。當釋出完成後,您就可以在瀏覽器裡檢視應用了。

簡單的測試

我們的應用有一個很重要的功能:可以建立使用者並且登入。在完成釋出後您一定很想測試一下這個功能,因為我們並沒有為建立這個功能做過什麼。
下面試著建立一個新的使用者 tester@163.com:

還不錯,建立完成後使用者 tester@163.com 已經登入了。

總結

本文透過詳細的操作步驟向大家介紹了 Asp.NET Core 應用的建立,並且向 Azure Web App Service 部署的過程。希望對有興趣的同學有所幫助。

相關文章