IRONSOFTWAREHOME

將 API 部署到 VPS

Deploying the API to a 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更新了Name Server(NS)記錄,以指向InterServer的DNS。 這樣可以讓域名解析到VPS的IP地址。

Tim 表示這最多可能需要48小時,但依他的經驗經常在15分鐘或更短時間內完成 —— 這是.NET開發人員急於看見自己作品上線時的獎勵。

安裝SSL證書

在現代網頁應用中,安全性不容妥協。 Tim 使用Let's Encrypt設置了一個SSL證書,這提供免費的網站加密。 他使用一個通配符SSL證書,這樣像www.thesampleapi.com和api.thesampleapi.com這樣的子域也得到了保護。

這是一個關鍵步驟,特別是對於處理敏感資料的ASP.NET Core API。 SSL證書加密客戶端和網頁伺服器之間的通信,是高效能、安全網站的必備條件。

使用Visual Studio發佈

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

  1. 右鍵點擊專案 → 發佈

  2. 選擇資料夾作為目標

  3. 選擇Release模式

  4. 設置部署型別為依賴Framework(適用於安裝了相應.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在API的根端點中新增了一個重定向,而不是在首頁顯示"Hello World"。 現在,存取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:

摘要

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

如果您考慮轉向VPS託管計劃、需要避免傳統網頁託管公司的隱藏費用,或是想在共用託管之外進行實驗,這份教學會將您帶上正確的道路。

無論您是在推出您的第一個API或是在探索.NET服務託管,此指南提供了清晰性、控制力和強大的功能來構建動態和可擴展的網頁應用程式。

Earn More by Sharing What You Love

Do you create content for developers working with .NET, C#, Java, Python, or Node.js? Turn your expertise into extra income!

Let's Stay in Touch!

Join our newsletter, you’ll get exclusive access on article updates. We value your privacy

Key in blue circle

立即免費取得 30 天試用金鑰

Your trial license will be sent to your email address

無任何限制。100% 解鎖。無需信用卡。

bullet_checked無需信用卡或建立帳號無任何限制。100% 解鎖。無需信用卡。
  • Logo Aetna
  • Logo NASA
  • Logo GE
  • Logo Porsche
  • Logo USDA
  • Logo Qatar
Join Millions of Engineers who’ve tried IronPDF
獲取您的無義務諮詢
填寫以下表格或發送電子郵件至sales@ironsoftware.com
您的詳細資訊將始終保密。
被全球數百萬工程師信任
Iron Software的客戶標誌
立即獲取您的30天試用金鑰
無需信用卡或帳戶建立