首頁 >運維 >Nginx >Nginx和PHP的部署方式是什麼

Nginx和PHP的部署方式是什麼

王林
王林轉載
2023-05-18 23:43:231287瀏覽

2種部署方式簡介

第一種

  • #前置1台nginx伺服器做http反向代理程式和負載平衡

  • 後面n太伺服器的nginx做web服務,並呼叫php-fpm提供的fast cgi服務

  • 此種部署方式最常見,web服務和php服務在同一台伺服器上都有部署

 第二種

  1. 前置1台nginx伺服器做web服務

  2. 後面伺服器只部署php-fpm服務,供nginx伺服器呼叫

  3. 前置1台nginx伺服器,在呼叫後面多例php-fpm服務時,也可以做到負載平衡

如下圖:

Nginx和PHP的部署方式是什麼

##比較

從系統設計角度

第一種部署是常規部署方式,大中小規模網站都能適用。

第二種,不同服務部署在不同伺服器上,更細緻。但也有幾個問題:

  • 前置nginx充當web服務。所有靜態資源的存取、壓縮傳輸和快取設定都被集中到這台伺服器。壓力會大,容易成為瓶頸。

  • 如果靜態資源都存放在cdn,不需要http 壓縮傳輸,這種部署方式還算比較合理;

  • 承接上面兩點,還可以對這種部署方式進行最佳化。在前面的負載平衡和反向代理層之後,中間是一個 Nginx web 伺服器,後面部署了一個 PHP-FPM 服務。從效能角度

相比第二種部署方式,第一種多走了一次進程間互動。

  1. 依照第一種部署,當一個http請求過來,先是nginx反向代理轉發至nginx web服務(透過網路),web服務再透過fastcgi協定與php-fpm進行互動(進程間互動);

  2. 依照第二種部署,當一個http請求過來,充當web服務的nginx,直接透過網路與php-fpm進行互動

第一種部署,透過網路互動的是http協議,第二種透過網路互動的是fast-cgi協議, 這兩種協議比較如何?

fast cgi 的封包會比http稍微大一些,fast cgi協定會比http攜帶更多的參數資訊、傳輸控制資訊等等。 fast cgi 協定比http協定格式化嚴格一些,解析起來速度更快一些。從維運角度

第一種是最常見的部署方式,簡單統一,所有提供web服務的伺服器上的服務都是同構的,單調粗放。

第二種則是將nginx和php-fpm單獨分開部署,不同服務在伺服器叢集上的分佈更細緻。如果統計web服務中的壓力分佈,可以更精細地利用硬體資源。維運成本也更高。

從開發測試角度

兩種部署方式都不合適開發環境或測試環境。

開發和測試環境把nginx和php部署到一台伺服器上即可,不需要反向代理和負載平衡。

以上是Nginx和PHP的部署方式是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除