在 UpCloud Linux 上為小型生產應用部署 Blazor Server

最後更新 2026/1/29
軟體堆疊 Blazor Server · VS 2026 · .NET 10 · TablerForNet

以咖啡價格在 UpCloud Linux 上架設生產級 Blazor Server 應用。本指南著重於穩定 URL、預設 HTTPS、結構化資料及 約 $110/月 VPS 的穩定效能等 SEO 基礎。

您需要 UpCloud 帳號、已啟用 DNS 的網域或子網域,以及 SSH 存取權。以下為完整 Blazor Server 架構:建立 約 $110 計畫、保護 Ubuntu、發佈應用,並使用 Nginx 搭配 Certbot 實現 SEO 友善的 HTTPS。

UpCloud 優惠:您與我們各獲得 $923 點數,月費維持不變。

在 UpCloud Linux 上使用 Nginx 反向代理與 HTTPS 終止部署 Blazor Server
在 UpCloud 上使用 Linux、Nginx、systemd 與 TLS 進行生產環境 Blazor Server 設定

開始前的準備事項

網域對 SEO 與 HTTPS 至關重要。搜尋引擎偏好穩定主機名稱,Let's Encrypt 證書也需 DNS。請確保以下項目準備妥當,再建立 UpCloud 伺服器:

  • 指向未來伺服器的網域或子網域(如 app.example.com),並設定 A/AAAA 紀錄。
  • 擁有 UpCloud 帳號,且在您區域可選擇 約 $110/月的一般用途方案。 查看 UpCloud 價格頁面
  • 準備好 SSH 金鑰以免密碼登入;首次啟動後請禁用密碼登入以確保安全。
  • 本機安裝 .NET 8 SDK,用於發佈 Blazor Server 應用並上傳至虛擬機。

為何 UpCloud 適合 約 $110/月的 Blazor 部署

UpCloud 入門方案對真實用戶與搜尋爬蟲皆有足夠速度,且計費穩定。以下各點均與 SEO 及正常運作時間息息相關:

  • 穩定的 約 $110/月價格與充足頻寬,讓測試與小型生產網站負擔得起。
  • NVMe 儲存與全球資料中心降低首次回應時間(TTFB),為強力 SEO 指標。
  • 原生 IPv4/IPv6 與浮動 IP 讓藍綠部署簡單,實現無中斷更新。
  • 內建防火牆與快照功能,快速復原,避免爬蟲預算因停機受損。

在 UpCloud 建立您的 約 $110/月方案

只需設定一次虛擬機,保持系統簡潔。以下步驟可避免證書發行及後續部署的意外狀況:

  1. 註冊 UpCloud,完成帳單驗證,並選擇最近資料中心中最小的一般用途實例。
  2. 選擇 Ubuntu 22.04 或 24.04,附加 SSH 金鑰,若需日後無中斷切換,請新增浮動 IP。
  3. UpCloud 防火牆僅開放 SSH (22)、HTTP (80) 與 HTTPS (443),其他預設封鎖。
  4. 部署前先建立快照,若發佈失敗可快速回復。
UpCloud 註冊與方案選擇步驟
約 $110/月 UpCloud 方案設定逐步說明。

將 UpCloud 控制台加入書籤,部署失敗時可快速重建,且保留 約 $110/月價格。

偏好 CLI?使用 UpCloud API 或 CLI 腳本自動重建與快照,確保 Blazor 架構可重現。

  • 以固定低階虛擬機資源實現可預測成本。
  • 透過快照快速復原,無需手動除錯。
  • 透過腳本重建實現 Blazor 可重現的基礎架構。

準備 Ubuntu 並強化安全防護

更新基礎系統,設定 UTC 以統一日誌時間,僅安裝必要工具。安全補丁降低攻擊面,並保持 TLS 握手速度足夠快以利爬蟲。

Shell
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl wget unzip apt-transport-https ca-certificates gnupg
sudo timedatectl set-timezone UTC

新增簡易防火牆,僅允許反向代理與 SSH 存取。封鎖其他流量,防止惡意機器人浪費 CPU,維持 SEO 穩定回應時間。

Shell
sudo apt install -y ufw fail2ban
sudo ufw default deny incoming
sudo ufw default allow outgoing
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw enable
sudo systemctl enable --now fail2ban

安裝 .NET 8 執行環境與 SDK

使用微軟套件源自動更新安全性。僅在計畫直接於伺服器發佈時安裝 SDK。

Shell
wget https://packages.microsoft.com/config/ubuntu/24.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb
sudo apt update
sudo apt install -y aspnetcore-runtime-8.0 dotnet-sdk-8.0

發佈並上傳您的 Blazor 應用

本機以 Release 模式編譯,伺服器僅執行精簡二進位檔。使用 rsync 保留權限並縮短傳輸時間;SSH 金鑰確保傳輸安全。

Shell
# Build locally
 dotnet publish -c Release -o publish

# Copy to UpCloud (replace user@host)
 rsync -avz publish/ user@YOUR_UPCLOUD_IP:/var/www/blazor-app/

# On the server, set ownership
 sudo useradd -m -s /bin/bash blazorapp || true
 sudo chown -R blazorapp:blazorapp /var/www/blazor-app

在 systemd 管理下執行 Kestrel

將 Kestrel 綁定於 localhost,僅允許 Nginx 存取。systemd 自動重啟服務並集中日誌,方便快速排查 SEO 問題。

systemd

透過 Nginx 與 HTTPS 對外提供服務

Nginx 終止 TLS,支援 HTTP/2,並僅將乾淨流量轉發給 Kestrel。Certbot 自動管理 TLS 證書,確保每頁皆可被索引且安全。

nginx

Shell
sudo apt install -y certbot python3-certbot-nginx
sudo certbot --nginx -d app.example.com --redirect --agree-tos -m [email protected]
sudo certbot renew --dry-run

快速啟動 Blazor 的 SEO 清單

  • 強制使用 HTTPS 與 HTTP/2,靜態資源嚴格設定快取標頭,並啟用 Brotli 壓縮以減少負載。
  • 使用易讀的網址別名與文化區段,保持 URL 一致性,幫助爬蟲避免重複。
  • 為每篇指南輸出 JSON-LD(文章 + 常見問題),讓 Google 與 Bing 顯示豐富結果。
  • 透過元資料元件加入 Open Graph 與 Twitter 卡片,確保社群媒體預覽正確。
  • 監控核心網頁指標,延遲載入主視覺圖片並精簡 JS,降低互動延遲。

監控、擴充並控制成本

  • 監控 journalctl 與 Nginx 日誌;部署失敗不應浪費爬蟲預算或顯示過期結構化資料。
  • 持續啟用 UFW 白名單與 fail2ban,阻擋暴力破解流量,避免影響真實訪客速度。
  • 排程每月快照與異地備份,讓您能快速回復而無需升級方案。
  • 流量增加時,可複製快照至更大方案,或在負載平衡器後新增第二節點。

準備擴充?在 UpCloud 上以相同映像啟動另一個 約 $110/月節點,並透過 Nginx 或負載平衡器導流。 開啟 UpCloud 並複製伺服器.

常見問題

關於 約 $110/月 UpCloud Blazor Server 主機的解答