為什麼你應該專注於使用 Nginx 提高 Drupal 性能
已發表: 2018-01-14我們都知道 Drupal 是靈活性與簡單性的結合。 Drupal 是一個旨在成為非技術用戶的完美解決方案的 CMS,它是一個統一的系統,力求擁有內容管理系統和內容管理框架的優勢。 因此,無論網站建設者想要創建什麼(從新聞網站或在線商店到社交網絡或高度複雜的政府網站),只需結合正確的模塊即可實現完美的 Drupal 開發。 眾所周知,Nginx 是一種超級強大的 Web 服務器,可用於緩存、負載平衡、反向代理等,以提高網站的性能。 Drupal Nginx 組合可以最大限度地提高性能。 讓我們看看為什麼您應該為下一個 Drupal 項目選擇 Nginx。
Drupal 一直在不斷更新,它的最新版本證明了這個開源 CMS 如何迅速發展成為最受歡迎的框架之一(根據 Drupal.org 的一份報告,近 100 萬個網站使用 Drupal 7) Drupal-Drupal 8 的版本已經讓用戶在他們的座位邊緣擁有一些最令人興奮的功能。
Drupal 8 的一些特性包括:
- 開箱即用的 Web 服務:網站僅用於桌面,Web 服務僅用於使用其他系統服務的網站的日子已經一去不復返了。 隨著各種設備的出現,當今世界的 Web 服務比以往任何時候都更加重要。 雖然 Web 服務由 Drupal 7 中的第 3 方模塊支持,但它已包含在 Drupal 8 核心中。
- 安全性改進:安全性一直是一個問題,隨著新功能的加入,Drupal 8 已經設法使系統更加安全。
- 更簡單、更快:在 Drupal 8 中,Drupal API 完全是 RESTful,讓開發人員可以更輕鬆地使用 Angular.js、Ember.js 和許多其他顯示工具,沒有太多麻煩。
- 移動改進:正如我們之前談到的,移動設備是當今世界的驅動力。 Drupal 8 全面支持移動站點模板,並通過移動設備輕鬆進行後端管理。
由於這些功能中的大多數支持一些最大和復雜的站點,這些站點會帶來大量流量並且容易受到性能問題的影響,因此盡快處理這些問題變得很重要,因為流量增長的驅動力不僅限於客戶和服務器之間,而且在後端服務器之間。 在您的 Drupal 8 網站上實施 Nginx 可以解決所有與服務器相關的問題並提升網站性能。
使用 Drupal Nginx 的站點架構
許多 Drupal 網站最初使用 Apache HTTP 服務器作為他們的 Web 服務器,並且配置它的說明廣泛可用的事實使其成為許多網站所有者的首選。 但隨著網站的發展並開始吸引更多流量,人們就會轉向 NGINX 服務器。 在這個階段,由於很難同時支持 10,000 個以上的連接,導致整個服務器死機或崩潰,Drupal 和 Apache 共享難以克服的問題。
由於站點的漏洞受到威脅,Drupal 8 NGINX 是組織穩定站點架構的首選。 隨著站點的增長,可以採取幾個步驟來解決與性能相關的問題,而不是更改服務器並引發問題。

- NGINX 作為您的 Drupal 站點的網絡服務器的首選,可提高性能並大幅降低內存利用率。
- NGINX 是許多 Drupal 站點最受歡迎的反向代理服務器之一,因為它可以處理 Internet 流量並減輕應用程序服務器的負擔。
網絡服務器
一個可以照顧 Drupal 網站性能、安全性和靈活性的快速修復是從 Apache 遷移到 NGINX 作為您網站的網絡服務器。 困擾大多數 Web 服務器的一個常見問題是 C10K 問題 - Web 服務器在支持同時連接(通常一次不超過 10,000 個連接)方面遇到的困難。 NGINX 旨在解決這個特殊問題。 Drupal NGINX 能夠運行一個持續的事件循環,在請求發生時處理請求,而無需為請求者分配資源,因此 Drupal NGINX 消除了為每個新連接創建新進程的過程所產生的開銷。
帶有 Drupal 8 Nginx 的反向代理服務器
反向代理服務器與您常用的服務器不同。 該服務器接收來自瀏覽器的請求,而不是立即處理它們,而是檢查每個請求並決定對其採取什麼操作:要么自己執行請求,要么將其發送到另一台服務器進行執行。
部署這樣的服務器是創建站點架構的第一步,該架構允許靈活性、冗餘、改進的安全性和一籃子其他好東西。 反向代理服務器可能有助於提高網站性能的主要原因之一是 Web 服務器之間的通信速度比 Internet 上的通信速度快。 並且這種與反向代理服務中的其他 Web 服務器的通信本質上是免費的。
因此,通過添加反向代理服務器,您的 Drupal 站點無需直接處理整個 Internet 流量。 該服務器會立即處理在巨大流量、安全問題和性能問題的壓力下崩潰的站點。 隨著站點架構中新靈活性的引入,反向代理服務器允許新的功能和功能可以高效運行而不影響應用程序服務器。
多個應用服務器和負載平衡
使用單個應用程序服務器獲得更好的性能是非常不可能的。 但是更大更快的服務器可能很昂貴,而且由於單個設備始終具有固有的性能,您需要升級或更換當前設備(具有高度破壞性的操作)以獲得更高的性能。 這就是反向代理服務器出現的地方。 該服務器允許使用多個應用程序服務器,只需在系統中添加額外的服務器即可確保更好的 Drupal 性能。 使用正確的軟件工具(例如 NGINX Plus)可以輕鬆地添加和刪除服務器,從而在很大程度上減少停機時間。
多個應用服務器的存在意味著必須有一種技術來決定哪個服務器獲得下一個請求。 這些技術的範圍從簡單的方法到復雜的方法,其中系統檢查每個服務器以在發送請求之前找出哪個服務器最不忙。 這稱為負載平衡。 NGINX 服務器和 NGINX Plus 支持五種有助於提高 Drupal 性能的負載平衡技術。
檢查 Nginx 推薦的這個官方 Drupal 8 Nginx 配置文件,以開始在您的 Drupal 8 網站中實現它。
