詳解Nginx 和 PHP 的兩種部署方式的對(duì)比
2種部署方式簡(jiǎn)介
第一種
第二種
如下圖 :
對(duì)比
從系統(tǒng)設(shè)計(jì)角度
第一種部署是常規(guī)部署方式,大中小規(guī)模網(wǎng)站都能適用。
第二種,不同服務(wù)部署在不同服務(wù)器上,更加細(xì)致。但也有幾個(gè)問(wèn)題:
相比第二種部署方式,第一種多走了一次進(jìn)程間交互。
第一種部署,通過(guò)網(wǎng)絡(luò)交互的是HTTP協(xié)議,第二種通過(guò)網(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)格一些,解析起來(lái)速度更快一些。 從運(yùn)維角度
第一種是最常見(jiàn)的部署方式,簡(jiǎn)單統(tǒng)一,所有提供web服務(wù)的服務(wù)器上的服務(wù)都是同構(gòu)的,單調(diào)粗放。
第二種則是將nginx和PHP-fpm單獨(dú)分開(kāi)部署,不同服務(wù)在服務(wù)器集群上的分布更加細(xì)致。如果統(tǒng)計(jì)Web服務(wù)中的壓力分布,可以更加精細(xì)地利用硬件資源。運(yùn)維成本也更高。
從開(kāi)發(fā)測(cè)試角度
兩種部署方式都不合適開(kāi)發(fā)環(huán)境或測(cè)試環(huán)境。
開(kāi)發(fā)和測(cè)試環(huán)境把nginx和PHP部署到一臺(tái)服務(wù)器上即可,不需要反向代理和負(fù)載均衡。
總結(jié)
如果是LAMP環(huán)境的部署,第一種比較常見(jiàn)。
如果不是LAMP,是nginx和其他fastcgi服務(wù)交互,比如C/C++、Java的fastcgi程序,在大規(guī)模的網(wǎng)絡(luò)應(yīng)用中,類似第二種的部署是常見(jiàn)的。做到不同服務(wù)之間分開(kāi)部署,反而是簡(jiǎn)化了系統(tǒng)的網(wǎng)絡(luò)結(jié)構(gòu),更加便于維護(hù)。
感謝閱讀,希望能幫助到大家,謝謝大家對(duì)本站的支持!
新聞熱點(diǎn)
疑難解答
圖片精選