1. 程式人生 > >不用虛機不用Docker使用Azure應用服務部署ASP.NET Core程式

不用虛機不用Docker使用Azure應用服務部署ASP.NET Core程式

一般我們寫好了應用程式想要部署釋出它,要麼釋出到物理機,要麼釋出到虛擬機器,要麼釋出到容器來執行它。現在有了Azure應用服務,我們可以完全不用管這些東西,只管寫好自己的程式碼,然後使用VisualStudio的釋出功能就可以一鍵部署了。如果你覺得效能不夠用了還可以自動擴容,彈性伸縮。 ## 應用服務概述 Azure 應用服務是一項基於 HTTP 的服務,用於託管 Web 應用程式、REST API 和移動後端 。 可以使用 .NET、NET Core、Java、Ruby、Node.js、PHP 或 Python 等偏好的語言進行開發。 應用服務不僅可將 Microsoft Azure 的強大功能(例如安全性、負載均衡、自動縮放和自動管理)新增到應用程式。 還可以利用其 DevOps 功能,例如包管理、過渡環境、自定義域和 SSL 證書。 > 引用自[微軟Azure文件](https://docs.azure.cn/zh-cn/app-service/overview) ## 建立應用服務資源 ![avUSmj.png](https://s1.ax1x.com/2020/08/12/avUSmj.png) 通過portal控制檯建立一個新的應用服務資源。 取個名字,這個名字會分配一個二級域名,到時候可以通過它來訪問你的應用程式。選擇對於的執行時,作業系統,區域。應用服務對於12月免費賬號也是一個免費服務,支援1G記憶體60分鐘CPU時間/天10個例項。 > 注意:SKU和大小,這裡預設是要收費的,需要改成對應的免費計劃。 ![avNv6g.png](https://s1.ax1x.com/2020/08/12/avNv6g.png) 點選“更改大小”,選擇開發/測試標籤,選擇F1定價計劃,這個才是免費的。 ![avU97n.png](https://s1.ax1x.com/2020/08/12/avU97n.png) 這些設定完成後點選建立,等待一會就會提示資源建立完成。選擇新建的資源,可以看到一些基本資訊,以及一些輸入、輸出的監控資訊等。 ## 建立ASP.NET Core應用程式 ![avcVmV.png](https://s1.ax1x.com/2020/08/12/avcVmV.png) 開啟VisualStudio新建一個ASP.NET Core應用程式,我們只是演示,啥都不用改。 ## 釋出程式 ![avUJje.png](https://s1.ax1x.com/2020/08/12/avUJje.png) 有了新建的.net程式,我們要釋出它到Azure應用服務上去。在VS上選擇釋出,彈出釋出介面。。選擇"IIS,FTP等"選項。 VS其實跟Azure有深度的整合,其實直接支援應用服務的釋出,但是因為網路的問題,我沒有連線成功,Microsoft賬號這麼都登入不上,所以只好改用FTP釋出。 ![avUp0s.png](https://s1.ax1x.com/2020/08/12/avUp0s.png) 回到portal門戶,選擇“部署中心>FTP” ![avNxXQ.png](https://s1.ax1x.com/2020/08/12/avNxXQ.png) 複製好FTPS終結點,使用者名稱密碼。 ![avUPkq.png](https://s1.ax1x.com/2020/08/12/avUPkq.png) 回到VS的釋出介面,填寫上一步獲得的FTP資訊,點選儲存。 ![avUit0.png](https://s1.ax1x.com/2020/08/12/avUit0.png) 點擊發布按鈕,VS會開始編譯程式碼然後釋出程式碼到指定的FTP位置,最後提示釋出成功。 ## 訪問應用服務 上面提到了新建資源的時候需要填寫名稱,這個名稱加上.azurewebsites.net就是服務對應的地址。讓我們訪問一下吧。 ![avUFhV.png](https://s1.ax1x.com/2020/08/12/avUFhV.png) 可以看到我們的asp.net core應用程式釋出成功了,示例程式碼可以運行了。 ## 總結 通過上面的演示,我們沒有通過任何虛機、Docker、K8S等東西就把我們的asp.net core應用程式給跑起來了。而且還是通過VS直接釋出的,不需要藉助任何其他工具,真的非常方便。而且它還支援自動擴容,彈性伸縮等特性只要動動滑鼠就可以完成,這讓開發更加專注於程式碼,不會被運維等內容困擾。Azure應用服務是一個非常棒的功能。 ## 關注我的公眾號一起玩轉技術 ![](https://s1.ax1x.com/2020/06/29/NfQjds.jpg)