在雲計算大行其道的時代,當你在部署一個網站時,第一選擇肯定是各式各樣的雲端服務。那么究竟使用什么樣的雲端服務才能夠以最快捷的方式部署一個 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 按鈕后會收到下面的錯誤:
大體的意思是說數據庫沒有設置好,解決的辦法也都在上面說了,一共有三種:
- 直接點擊“Apply Migrations”按鈕。
- 在 Visual Studio 的 Package Manager Console 中執行“Update-Database”命令。
- 執行 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 數據庫服務器,然后在數據庫服務器上創建數據庫實例。相關概念可以參考筆者的《遷移 SQL Server 數據庫到 Azure SQL 實戰》一文,此處不再贅述。
因此在創建數據庫時,需要先創建數據庫服務器:
下面是創建新的數據庫服務器的界面,請輸入合適的數據庫服務器名稱,並設置好你的用戶名和密碼,然后點擊 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 上部署的過程。
希望對有興趣的同學有所幫助。
相關閱讀:
Azure Blob Storage 基本用法 -- Azure Storage 之 Blob
Azure Queue Storage 基本用法 -- Azure Storage 之 Queue
Azure File Storage 基本用法 -- Azure Storage 之 File
Azure Table storage 基本用法 -- Azure Storage 之 Table