如何部署 NocoBase 才更快
原文鏈接:https://www.nocobase.com/cn/tutorials/how-to-deploy-nocobase-faster
很多朋友在部署 NocoBase 時可能會覺得訪問速度不夠理想。很多時候是由于網絡環境、配置或服務架構的影響。今天,我和大家聊聊那些只需調整部署設置就能顯著提升訪問速度的技巧:
I. 網絡和基礎設施優化
1. HTTP 協議版本:輕松擁抱 HTTP/2
【前提條件】
- 需要 HTTPS 支持:這點很重要!幾乎所有現代瀏覽器都只在 HTTPS 連接上支持 HTTP/2,所以您必須先配置好 SSL 證書。
- 服務器要求:您需要使用支持 HTTP/2 的服務器軟件,比如 Nginx 1.9.5+ 或 Apache 2.4.17+。
- TLS 版本:建議使用 TLS 1.2 或更高版本(TLS 1.3 最佳),老舊的 SSL 版本不支持 HTTP/2。
【提示】
傳統的 HTTP/1.1 協議在處理多個請求時會有限制——通常只能同時處理 6-8 個連接,這就像排隊買票一樣,容易造成延遲。

HTTP/2 采用了"多路復用"技術,可以同時處理多個請求,大大加速了資源加載;而最新的 HTTP/3 在不穩定網絡中表現更佳,效果也很棒。

【優化建議】
- 請確保您的 Web 服務器已經開啟了 HTTP/2 支持,現在大多數服務器(如 Nginx、Caddy)都很容易配置。
- 在 Nginx 中,只需要在監聽指令后加入
http2參數即可:
listen 443 ssl http2;
【驗證】
瀏覽器開發者面板,打開"網絡"選項,鼠標右鍵勾選"協議",即可看到當前連接的協議版本:

經過我們實測,整體速度提升約10%,在系統中大量區塊和資源的情況下,性能提升更明顯。
2. 網絡帶寬:更大更好,靈活計費
【提示】
就像高速公路會比低速公路更順暢一樣,帶寬決定了數據傳輸的效率。當 NocoBase 首次加載時需要下載大量前端資源,如果帶寬不足,就容易形成瓶頸。
【優化建議】
- 選擇足夠的帶寬(大量用戶使用的話,推薦50M以上),不要吝嗇這一關鍵資源。
- 推薦采用"按流量計費"的方式:很多云服務商都提供這種靈活模式,在高峰期您可以享受更高的帶寬,而平時也能控制成本。
3. 網絡延遲與服務器地理位置:距離近,反應快
【提示】
延遲其實就是數據傳輸的等待時間。即便帶寬充足,如果服務器離用戶太遠(比如用戶在中國,而服務器在美國),每次請求響應都可能因為距離遙遠而拖慢速度。
【優化建議】
- 盡量把 NocoBase 部署在離您主要用戶群體更近的地區。
- 如果您的用戶遍布全球,可以考慮使用全球加速服務(例如阿里云全球加速或 AWS Global Accelerator),優化網絡路由,降低延遲。
【驗證】
通過ping命令,測試不同地區服務器的延遲。
這個方式提升最為明顯,根據不同地區,訪問速度提升1-3倍以上。
跨12個時區,13秒:

跨2個時區,8秒:

當前地區,約3秒:

II. 部署架構優化
4. 服務端部署與代理方式:選擇最適合的架構
【前提條件】
- 服務器權限:您需要有服務器的 root 或 sudo 權限才能配置 Nginx 等服務。
- 基本技能:需要一些基礎的服務器配置知識,不過別擔心,這里會提供具體的配置示例。
- 端口訪問:確保防火墻允許 80 端口(HTTP)和 443 端口(HTTPS)的訪問。
【提示】
當用戶訪問 NocoBase 時,請求會直接到達您的服務器。合適的部署方式能讓服務器更高效地處理請求,從而提供更快的響應。
【不同方案及建議】
啟動 NocoBase 后,不使用反向代理靜態資源(不推薦):
- 缺點:這種方式雖然簡單,但在處理高并發或靜態文件時性能較弱,適合開發和測試;
- 建議:請盡量避免此方式。
參考"安裝文檔"
不使用反向代理,首頁加載約為6.1秒

使用 Nginx / Caddy 等反向代理(強烈推薦):
- 優點:反向代理服務器能夠高效處理并發連接、服務靜態文件、實現負載均衡,并且配置 HTTP/2 也很簡單;
- 建議:在生產環境中,應用部署完成之后(源碼部署 / create-nocobase-app / Docker 鏡像),使用 Nginx 或 Caddy 作為反向代理。
參考"部署文檔"
使用Nginx代理后,首頁加載約為3-4秒


使用集群部署與負載均衡(適合高并發及高可用場景):
- 優點:通過部署多個實例處理請求,可以顯著提升系統的整體穩定性和并發能力;
- 具體部署方式見 集群模式
5. 使用 CDN 加速靜態資源
【前提條件】
- 域名要求:您需要有一個已注冊的域名,并且能夠管理其 DNS 設置。
- SSL 證書:大多數 CDN 服務需要配置 SSL 證書(可以使用免費的 Let's Encrypt)。
- 服務選擇:根據用戶地區選擇合適的 CDN 服務商(中國大陸用戶需要選擇有 ICP 備案的 CDN)。
【提示】
CDN(內容分發網絡)將您的靜態資源緩存到全球各地的節點,用戶可以從最近的節點獲取資源,就像就近取水一樣,能極大降低加載延遲。
此外,CDN 最大的優勢在于能夠顯著減輕應用服務器的負載和帶寬壓力。當大量用戶同時訪問 NocoBase 時,如果沒有 CDN,所有的靜態資源請求(如 JavaScript、CSS、圖片等)都將直接訪問您的服務器,可能導致服務器帶寬不足、性能下降,甚至宕機。通過 CDN 分流這些請求,您的服務器可以專注于處理核心業務邏輯,為用戶提供更穩定的體驗。

【優化建議】? 配置您的服務器,讓靜態資源請求通過 CDN 分發;? 根據用戶所在地選擇合適的 CDN 服務商:
- 全球用戶:Cloudflare、Akamai、AWS CloudFront;
- 中國大陸用戶:阿里云 CDN、騰訊云 CDN、百度云加速。示例配置:
# 將靜態資源重定向到 CDN 域名
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg|woff|woff2|ttf|eot)$ {
rewrite ^(.*)$ https://your-cdn-domain.com$1 permanent;
}
對于小型項目,Cloudflare 免費版也能提供不錯的 CDN 加速效果:
- 在 Cloudflare 注冊賬號并添加您的域名;
- 修改 DNS 將域名指向 Cloudflare 提供的服務器;
- 在控制面板中設置適當的緩存級別。
特別提示:即使您的用戶群都在同一地區,仍然強烈建議使用 CDN,因為它能有效減輕服務器負擔,提高系統整體穩定性,尤其是在訪問量大的情況下。
III. 靜態資源優化
6. 服務器壓縮與緩存配置
【前提條件】
- CPU 資源:壓縮會增加服務器的 CPU 負載,所以您的服務器應有足夠的處理能力。
- Nginx 模塊支持:Gzip 壓縮一般內置支持,但 Brotli 壓縮可能需要額外安裝模塊。
- 配置權限:需要有修改服務器配置的權限。
【提示】
通過啟用壓縮和合理的緩存策略,可以顯著減少數據傳輸量和重復請求,相當于給您的資源做"瘦身"處理,讓加載速度飛起來。

【優化建議】
- 最簡單的方案:用 Cloudflare 的免費CDN服務,即可自動開啟Gzip壓縮。
- 啟用 Gzip 或 Brotli 壓縮,在 Nginx 中可以這樣設置:
# 啟用 Gzip 壓縮
gzip on;
gzip_comp_level 6;
gzip_min_length 1000;
gzip_proxied any;
gzip_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
# 如果支持 Brotli 壓縮,可啟用以獲得更高效的壓縮效果
brotli on;
brotli_comp_level 6;
brotli_types text/plain text/css application/json application/javascript text/xml application/xml application/xml+rss text/javascript;
? 為靜態資源設置合適的緩存頭,減少重復加載:
location ~* \.(js|css|png|jpg|jpeg|gif|ico|svg)$ {
expires 30d;
add_header Cache-Control "public, max-age=2592000";
access_log off;
}
7. 使用 SSL/TLS 并優化性能
【前提條件】
- SSL 證書:您需要有一個有效的 SSL 證書(可以使用免費的 Let's Encrypt)。
- 服務器配置權限:需要能夠修改 SSL 配置。
- DNS 配置:為 OCSP Stapling 配置可靠的 DNS 解析器。
【提示】
安全總是第一位的,但 HTTPS 的配置如果不當,也可能增加一些延遲。這里有一些優化的小技巧,可以幫助您在確保安全的同時,又能保持高效性能。
【優化建議】
- 使用 TLS 1.3,這是目前最快的 TLS 版本。在 Nginx 中配置:
ssl_protocols TLSv1.2 TLSv1.3;
ssl_prefer_server_ciphers on;
ssl_ciphers ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305;
- 啟用 OCSP Stapling 來減少證書驗證所花費的時間:
ssl_stapling on;
ssl_stapling_verify on;
resolver 8.8.8.8 8.8.4.4 valid=300s;
resolver_timeout 5s;
- 通過會話復用減少重復握手的時間:
ssl_session_cache shared:SSL:10m;
ssl_session_timeout 10m;
【跨國場景優化效果】
特別說明:以下是在跨國/跨12個時區場景下的優化效果,這與前面提到的本地訪問場景(約3秒)有本質區別。地理距離造成的網絡延遲是不可避免的,但通過優化仍能顯著提升速度:
綜合應用 Http2 + CDN緩存 + Gzip壓縮 + Brotli壓縮后:
優化前(跨國訪問),13秒:

優化后(跨國訪問),8秒:

這個例子說明,即使在地理位置相距遙遠的情況下,合理的優化措施仍然能將加載時間縮短約40%,大幅改善用戶體驗。
IV. 監控與問題排查
8. 性能監控與基本分析
【前提條件】
- 可訪問性:您的網站必須是公開可訪問的才能使用大多數在線測試工具。
- 基本技能:需要理解性能指標的基本含義,不過我們會解釋每個關鍵指標。
【提示】
如果不知道哪里成為了瓶頸,就很難精確地進行優化。建議使用一些免費工具來監控網站性能,幫助大家找到問題所在。
【優化建議】
使用如下免費工具檢查網站性能:
關注以下關鍵指標:
- 頁面加載時間
- 服務器響應時間
- DNS 解析時間
- SSL 握手時間
常見問題應對:
- DNS 解析慢?考慮更換 DNS 服務或啟用 DNS 預解析。
- SSL 握手慢?優化 SSL 配置,啟用會話復用。
- 服務器響應慢?檢查服務器資源,必要時進行升級。
- 靜態資源加載慢?可嘗試實施 CDN 和調整緩存策略。
部署優化快速檢查清單
下面這份清單可以幫助大家快速檢查和優化 NocoBase 的部署:
-
HTTP 版本檢查
-
帶寬評估
-
服務器位置選擇
-
部署架構
-
CDN 實施
-
壓縮與緩存
-
SSL/TLS 優化
-
性能監控
常見問題與解答
【問】我的服務器部署在海外,中國用戶訪問速度緩慢,該怎么辦呢?
【答】最好的辦法是選擇中國區域內的云服務器重新部署。如果實在無法更換,也可以:
- 使用國內 CDN 加速靜態資源;
- 利用全球加速服務來優化網絡路由;
- 盡可能啟用所有壓縮和緩存優化措施。
【問】為什么我的 NocoBase 首次加載很慢,而之后卻很快?
【答】首次加載慢比較正常,因為首次需要下載大量資源,以我們的官方Demo為例,通常首次加載時間為3秒左右。
首次加載后,后續日常訪問時的加載約為1-2秒之間。

對于加載時間過長的情況,仍有優化空間:
- 確保啟用了 HTTP/2;
- 實施 CDN 加速;
- 啟用 Gzip/Brotli 壓縮;
- 檢查服務器帶寬是否足夠。
【問】我目前使用虛擬主機,無法修改 Nginx 配置怎么辦?
【答】在此情況下,雖然優化選項較少,但仍建議:
- 嘗試使用 CDN 服務(如 Cloudflare);
- 優化應用程序中可以調整的參數;
- 如果條件允許,可考慮升級到支持更多自定義配置的 VPS。
通過這些簡單而實用的部署優化策略,您可以顯著提升 NocoBase 的訪問速度,給用戶帶來更流暢的體驗。很多優化措施只需在幾小時內完成設置,無需改動代碼,輕輕松松就能見到效果。

了解如何通過 HTTP/2、CDN、服務器位置選擇、壓縮和緩存等技術優化 NocoBase 部署,顯著減少加載時間并提升用戶體驗。
浙公網安備 33010602011771號