溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Nginx和PHP部署方式的對(duì)比分析

發(fā)布時(shí)間:2021-08-20 14:30:46 來源:億速云 閱讀:221 作者:小新 欄目:服務(wù)器

小編給大家分享一下Nginx和PHP部署方式的對(duì)比分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

2種部署方式簡(jiǎn)介

第一種

  • 前置1臺(tái)nginx服務(wù)器做HTTP反向代理和負(fù)載均衡

  • 后面N太服務(wù)器的Nginx做Web服務(wù),并調(diào)用php-fpm提供的fast cgi服務(wù)

  • 此種部署方式最為常見,web服務(wù)和PHP服務(wù)在同一臺(tái)服務(wù)器上都有部署

 第二種

  1. 前置1臺(tái)nginx服務(wù)器做Web服務(wù)

  2. 后面服務(wù)器只部署php-fpm服務(wù),供nginx服務(wù)器調(diào)用

  3. 前置1臺(tái)nginx服務(wù)器,在調(diào)用后面多例php-fpm服務(wù)時(shí),也可以做到負(fù)載均衡

如下圖 :

Nginx和PHP部署方式的對(duì)比分析

對(duì)比

從系統(tǒng)設(shè)計(jì)角度

第一種部署是常規(guī)部署方式,大中小規(guī)模網(wǎng)站都能適用。

第二種,不同服務(wù)部署在不同服務(wù)器上,更加細(xì)致。但也有幾個(gè)問題:

  • 前置nginx充當(dāng)Web服務(wù)。對(duì)靜態(tài)資源的訪問、壓縮傳輸、緩存設(shè)置等,也都集中在這臺(tái)服務(wù)器上。壓力會(huì)大,容易成為瓶頸。

  • 如果靜態(tài)資源都存放于CDN,不需要HTTP 壓縮傳輸,這種部署方式還算比較合理;

  • 承接上面兩點(diǎn),還可以對(duì)這種部署方式進(jìn)行優(yōu)化。如前置nginx負(fù)載均衡和反向代理,中間是nginx Web服務(wù),后面部署php-fpm服務(wù)。 從性能角度

相比第二種部署方式,第一種多走了一次進(jìn)程間交互。

  1. 按照第一種部署,當(dāng)一個(gè)http請(qǐng)求過來,先是nginx反向代理轉(zhuǎn)發(fā)至nginx Web服務(wù)(通過網(wǎng)絡(luò)),Web服務(wù)再通過fastcgi協(xié)議與php-fpm進(jìn)行交互(進(jìn)程間交互);

  2. 按照第二種部署,當(dāng)一個(gè)http請(qǐng)求過來,充當(dāng)Web服務(wù)的nginx,直接通過網(wǎng)絡(luò)與php-fpm進(jìn)行交互

第一種部署,通過網(wǎng)絡(luò)交互的是HTTP協(xié)議,第二種通過網(wǎng)絡(luò)交互的是fast-cgi協(xié)議, 這兩種協(xié)議對(duì)比如何呢?

fast cgi 的數(shù)據(jù)包會(huì)比HTTP稍微大一些,fast cgi協(xié)議會(huì)比HTTP攜帶更多的參數(shù)信息、傳輸控制信息等等。 fast cgi 協(xié)議比HTTP協(xié)議格式化嚴(yán)格一些,解析起來速度更快一些。 從運(yùn)維角度

第一種是最常見的部署方式,簡(jiǎn)單統(tǒng)一,所有提供web服務(wù)的服務(wù)器上的服務(wù)都是同構(gòu)的,單調(diào)粗放。

第二種則是將nginx和PHP-fpm單獨(dú)分開部署,不同服務(wù)在服務(wù)器集群上的分布更加細(xì)致。如果統(tǒng)計(jì)Web服務(wù)中的壓力分布,可以更加精細(xì)地利用硬件資源。運(yùn)維成本也更高。

從開發(fā)測(cè)試角度

兩種部署方式都不合適開發(fā)環(huán)境或測(cè)試環(huán)境。

開發(fā)和測(cè)試環(huán)境把nginx和PHP部署到一臺(tái)服務(wù)器上即可,不需要反向代理和負(fù)載均衡。

總結(jié)

如果是LAMP環(huán)境的部署,第一種比較常見。

如果不是LAMP,是nginx和其他fastcgi服務(wù)交互,比如C/C++、Java的fastcgi程序,在大規(guī)模的網(wǎng)絡(luò)應(yīng)用中,類似第二種的部署是常見的。做到不同服務(wù)之間分開部署,反而是簡(jiǎn)化了系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),更加便于維護(hù)。

以上是“Nginx和PHP部署方式的對(duì)比分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI