部署asp.net網站到Azure 前言 前些天一直在寫一個單頁面web應用程式,終於完成了,於是考慮發佈到雲伺服器。本人沒有AWS賬號,遂本打算使用谷歌雲。參考文檔後發現官方文檔給出的方式為在visual studio上使用Cloud Tools for Visual Studio插件,然而該插件 ...
部署asp.net網站到Azure
前言
前些天一直在寫一個單頁面web應用程式,終於完成了,於是考慮發佈到雲伺服器。本人沒有AWS賬號,遂本打算使用谷歌雲。參考文檔後發現官方文檔給出的方式為在visual studio上使用Cloud Tools for Visual Studio插件,然而該插件似乎只支持vs2017,無奈只能改用Azure。後續我也會繼續探索在Google上部署ASP.NET應用,畢竟Azure只給一個月的免費時間,只有升級賬戶後才能享受一年的免費時間。
我們開始吧
這是小白的第一次使用,所以只是我自己的方法和順序,僅供參考。如果有大佬有更方便快捷的方法歡迎提供,如有疏漏錯誤也煩請指出。謝謝!
建立資料庫
首先我們需要在Azure上新建一個資料庫。這個過程參考了這篇文章。
打開Azure首頁後搜索 sql 資料庫,選擇 sql 資料庫並轉到。
然後我們添加一個資料庫。我的裡面已經有了一個資料庫實例,如果沒有的話界面可能會和我的不太一樣。
打開以後大概長這個樣子:
從上到下依次填入信息。
* 訂閱:如果是免費賬戶似乎只有這一個選項,原諒我沒有見識過付費賬戶長啥樣。
* 資源組:如果你之前有建立過,可以選擇之前建立的資源組或新建資源組。如果沒有那隻能新建一個了。新建時可以起一個自己喜歡的名字。
* 資料庫名稱:可以起一個自己喜歡的名字,不能是之前有過的。
* 伺服器:如果之前建立過,可以選擇之前的或新建一個。如果沒有就新建一個新的吧。點擊新建後會在右邊顯示出來:
* 伺服器名稱:這個相當於你的資料庫伺服器的功能變數名稱,所以必須是獨一無二的
* 伺服器管理員登錄:資料庫管理員的賬號名,在以後登錄資料庫進行連接和管理的時候用它作為用戶名。
* 密碼:登錄資料庫的密碼,與前者相對應。
* 位置:伺服器所在位置。我選擇了距離我最近的位置,大家可以按需自行選擇。(雖然是離我最近的位置但是訪問速度依然不快)
* 允許 Azure 服務訪問伺服器:這個一定要選上,以允許你的網站使用建立的資料庫伺服器。
* 想要使用 SQL 彈性池:這個我用不上,大家可以自行按需選擇。
* 計算 + 存儲:這個可以用來配置資料庫的大小,大家可以按需進行調整。打開以後是這個樣子的:
一般情況下就可以點擊左下的 查看 + 創建 來建庫了。
如果還有其他需求可以點 Next: 其他設置> 進行設置。
然後等配置完成,在 sql 資料庫 界面就出現了剛剛建立的資料庫了。
點擊名稱,可以轉到詳細信息頁面:
右上方的伺服器名稱就是待會用來連接資料庫的伺服器名稱。
點擊連接字元串可以顯示資料庫連接字元串格式,使用時需要手動替換掉資料庫管理員用戶名和密碼。
ASP.NET 項目連接資料庫
使用剛剛的資料庫連接字元串,替代你的項目里的資料庫連接字元串,providerName 依然可以使用 System.Data.SqlClient。此時你的項目已經在使用你在Azure上的資料庫了。
然而,現在這個資料庫還是空的,需要建表,而且現在也不能方便的管理資料庫。此時需要在 visual studio 上或 Microsoft SQL Server Management Studio 上連接資料庫進行管理。
在visual studio上連接遠端資料庫
此處以 visual studio 2019 為例。點擊伺服器資源管理器上的添加按鈕來新建一個連接:
點擊 Azure, 登錄你的Azure賬號,下麵會顯示出來你的賬號中的資料庫實例。
選擇你想連接的資料庫,伺服器名稱即在資料庫詳情里看到的伺服器名稱,身份驗證選擇 SQL Server身份驗證,用戶名和密碼就是建立資料庫的時候配置的資料庫管理員賬戶和密碼(和連接字元串里替換的那個一樣)。然後連接即可。
接下來即可對資料庫進行管理,建表什麼的,然後就可以使用了。
在Microsoft SQL Server Management Studio上連接遠端資料庫
下麵是以 Microsoft SQL Server Management Studio 19 為例的演示,其他版本大同小異。
打開 Microsoft SQL Server Management Studio 19,出現 連接到伺服器 對話框。
* 伺服器類型:選擇 資料庫引擎
* 伺服器名稱:就是熟悉的那個伺服器名稱,Azure 資料庫詳細頁面里那個。
* 身份驗證:選擇 SQL Server 身份驗證。
* 登錄名:這裡需要註意,需要填寫 你的資料庫管理員用戶名@伺服器名稱,不能只填寫管理員用戶名。
* 密碼:嗯,就是那個密碼。
然後連接,就可以了。
發佈網站
折騰好資料庫結構後就可以發佈網站了(還沒有在資料庫建表的話現在快去建表)。如果你希望直接遷移資料庫的話,可以直接在visual studio中使用資料庫遷移。由於我不想把測試時的亂七八糟的數據上傳,所有沒有用。如需要請自行搜索吧,參考的那篇文章里也有一些說明。發佈的步驟參考了微軟官方文檔。
首先要確保你所有的資源都已經包含在項目內了,否則發佈後會出現找不到資源的情況。在本地測試時可能路徑在同一個文件夾中不會出現錯誤,但是發佈到遠端時,沒有包含在項目中的資源是不會被上傳到伺服器的,這裡需要註意。
在解決方案的web項目上 右鍵 > 發佈(在類庫上右鍵是沒有發佈的)。
選擇第一個應用服務。可以選擇新建或現有的。此處選擇新建:
點擊發佈後會讓你登錄Azure賬戶(已經登錄的可以省去此步驟)。之後會出現一些應用的設置:
可以起一個響亮的名字,資源組選擇你要發佈到的資源組,其他按(bao)需(chi)選(mo)擇(ren),然後點擊創建。
稍候,vs會在發佈成功後自動在瀏覽器中打開發佈的網頁。以後都可以登錄這個URL進行訪問啦!
在 Azure 的所有資源中可以看到所有的資源。不只是剛剛發佈的網站,而且包括其他時候發佈到各個資源組裡的各種東西。我這裡只有這一個項目。
總結
微軟的全家桶服務讓網站的開發維護和發佈變得很簡單順暢,過程並不難。要是Azure的免費時間給的再寬泛一些就更好了。
最後祝大家中秋快樂!