跳過到頁腳內容
Iron Academy Logo
C# 應用程式
C# 應用程式

其他分類

將API部署到VPS

Tim Corey
23m 24s

.NET開發者部署網路應用程式是一個重要的里程碑。 無論您是使用ASP.NET Core、.NET Framework,還是開發其他類型的動態網站,將您的應用程式部署到虛擬私人伺服器 (VPS) 都能讓您對主機環境、安全性和可擴展性有完全的控制。

在這份詳細指南中,我們將探索如何根據Tim Corey的教學影片"Deploying the API to a VPS"將一個簡單的C# API部署到VPS。從域名註冊到SSL證書以及通過Visual Studio進行發佈,Tim都涵蓋其中。 如果您正在探索VPS解決方案或.NET Core的主機選項,這篇指南是您動手部署的入門。

在網頁開發中為何使用範例API?

Tim先向您說明了擁有一個範例API的價值。 在使用HTML、JavaScript甚至Blazor等技術構建前端應用程式時,它是一個重要的測試基礎。 您可以得到完整的網頁開發體驗——從後端邏輯到主機和部署。

域名策略:只在準備好時購買

Tim強調一個關鍵原則——不要在有新應用程式想法的第一時間就急於購買域名。 許多志向遠大的開發者在沒有工作原型的情況下,過度消費於域名、主機方案和諸如電子郵件伺服器之類的功能上。

相反,您應首先專注於您的程式語言、數據模型和API邏輯。當項目成熟時,才是購買域名和主機帳戶的時候。 然而,對於這次教學,Tim已通過Namecheap預購了thesampleapi.com——他推薦的一個可靠的主機供應商。

選擇VPS主機供應商

Tim在這個項目中使用了InterServer——他信任的VPS主機供應商,提供高效能、低成本的虛擬私人伺服器。 儘管他通常使用Azure(特別是對於Microsoft SQL Server或企業規模的部署),但在這裡Tim選擇了InterServer來展示其靈活性。

他提到VPS主機方案的優點:

  • 比共享主機方案有更多控制權

  • 對動態網站有更佳的效能

  • SSD儲存和可擴展的磁碟空間

  • 可選的DDoS防護和對作業系統的完全訪問權限

對於正在比較Linux VPS和Windows Server主機選擇的開發者,Tim的案例展示了如何與這兩種環境協作,儘管這個例子使用的是基於Windows的VPS。

使用Plesk控制面板進行網頁主機設置

Tim演示了通過Plesk控制面板設置其主機服務的步驟。 VPS解決方案通常授予您root訪問權或控制面板設置您的網頁伺服器的訪問權限。 他設置了thesampleapi.com域名並配置了基本的網頁主機。

這個步驟包括:

  • 啟動DNS主機

  • 創建主機目錄

  • 理解VPS上的共享與專用伺服器結構

Tim指出,VPS用戶通常會在一台伺服器實例下託管多個域名。 這就是VPS的強大之處,超越了基本的共享Windows主機——它隨著您的需求擴展,能夠有效處理高流量。

通過Namecheap更新DNS設置

為了將域名連接到主機供應商,Tim在Namecheap上更新了名稱伺服器 (NS) 記錄,指向InterServer的DNS。 這允許域名解析到VPS的IP地址。

Tim表示這可能需要48小時,但根據他的經驗,通常在15分鐘內就完成了——這對於急於看到成品的.NET開發者來說是個好消息。

安裝SSL證書

現代網頁應用程式中的安全性是不可妥協的。 Tim使用Let's Encrypt來設置SSL證書,這是一個提供免費站點加密的服務。 他使用了一個Wildcard SSL證書,以確保www.thesampleapi.com和api.thesampleapi.com等子域名也是安全的。

這是尤其處理敏感數據的ASP.NET Core API的一個關鍵步驟。 SSL證書加密客戶端與網頁伺服器之間的通信,這對於需要高效能、安全性強的網站來說是必不可少的。

使用Visual Studio進行發佈

接下來,Tim演示了如何從Visual Studio發佈ASP.NET Core API:

  1. 右鍵單擊項目→發佈

  2. 選擇Folder作為目標

  3. 選擇Release模式

  4. 將部署類型設置為Framework-dependent(適用於預裝有相應.NET版本的環境)

如果要部署到沒有安裝.NET的Linux主機環境,Tim建議切換到自包含部署。 這會將所需的.NET Core運行時捆綁在一起,保證在遠端伺服器上的相容性。

發佈會產生一組可以直接上傳到您的主機供應商的文件。

上傳文件到網頁伺服器

Tim使用控制面板中的文件管理器刪除預設文件並上傳已發佈的文件夾。 他將內容直接從他的機器拖到VPS文件系統中。 上傳完成後,訪問域名URL會返回一個基本的"Hello World"消息,表明應用程式已成功上線。

對於更高級的用戶,根據您的主機服務能力,他建議使用GitHub Actions或webdev自動化部署。

測試API端點

隨後,Tim導航至他的C# API中定義的路由/courses。 它返回JSON數據,證明ASP.NET Core應用程式正常工作。 這也確認了後端邏輯、路由和中介軟體在網頁伺服器上被正確處理。

修復Swagger UI (Scaler/V1)

許多.NET開發者面臨的一個常見問題是Swagger UI(用於API文件)只能在開發模式下工作。 Tim指出項目中的配置文件在生產環境中禁用了Swagger。

他更新了配置文件中的OpenAPI設置,以便在生產環境中也能可用——這對於在現場環境中進行調試和測試是至關重要的。

將根目錄重定向到Swagger UI

Tim不再讓首頁顯示 "Hello World",而是在API的根端點中添加了一個重定向。 現在,訪問https://thesampleapi.com將自動將用戶重定向到位於/scaler/v1的Swagger文件。這一小小的改變提高了可用性,幫助開發者快速獲取API規範。

更新後重部署

為了反映新的更改,Tim重複了發佈-上傳流程。 他清空了VPS文件目錄並重新上傳了新構建。 他解釋說,雖然這種方法會導致短暫的停機時間,但在開發階段是可以接受的。

對於流量高的生產應用,Tim建議使用一個暫存槽——這在像Azure這樣的更高級主機方案或平台中可以找到的功能。 這允許無縫部署而不影響正常運行時間。

最終驗證和API測試

在部署更新的API後,Tim確認:

  • SSL證書為活躍狀態

  • 端點返回正確數據

  • Swagger UI可在/scaler/v1訪問

部署成功。 開發者現在可以從任何前端測試這個即時API——無論是Angular、React、Blazor,還是像WPF和WinForms這樣的桌面應用。

接下來是什麼?

Tim總結鼓勵開發者探索使用範例API與不同前端協作。 無論您正在構建動態網站、測試整合,還是使用舊版ASP或Visual Basic進行實驗,這個部署的API是一項很棒的資產。

您可以在以下位置訪問這個實時API:

摘要

將API部署到VPS對於任何使用.NET Core、.NET Framework或一般網頁應用開發的開發者來說,都是一個有價值的學習經歷。 Tim Corey的影片展示了整個過程——從域名設置到最終部署——並提供實用的提示和最佳實踐。

如果您考慮轉向VPS主機方案,需要避免傳統網頁託管公司隱藏收費,或想突破共享主機進行實驗,這篇教學將引領您走上正確的道路。

無論您是首度推出API或探索dotnet服務主機,這份指南提供清晰度、控制力以及強大的功能來構建動態和可擴展的網頁應用。

Hero Worlddot related to 將API部署到VPS
Hero Affiliate related to 將API部署到VPS

通過分享您所愛的東西賺得更多

您是否在為使用.NET、C#、Java、Python或Node.js的開發者創建內容?將您的專業知識轉化為額外收入!

鋼鐵支援團隊

我們每週 5 天,每天 24 小時在線上。
聊天
電子郵件
打電話給我