詳解Nginx 和 PHP 的兩種部署方式的對比
2種部署方式簡介
第一種
第二種
如下圖 :
對比
從系統設計角度
第一種部署是常規部署方式,大中小規模網站都能適用。
第二種,不同服務部署在不同服務器上,更加細致。但也有幾個問題:
相比第二種部署方式,第一種多走了一次進程間交互。
第一種部署,通過網絡交互的是HTTP協議,第二種通過網絡交互的是fast-cgi協議, 這兩種協議對比如何呢?
fast cgi 的數據包會比HTTP稍微大一些,fast cgi協議會比HTTP攜帶更多的參數信息、傳輸控制信息等等。 fast cgi 協議比HTTP協議格式化嚴格一些,解析起來速度更快一些。 從運維角度
第一種是最常見的部署方式,簡單統一,所有提供web服務的服務器上的服務都是同構的,單調粗放。
第二種則是將nginx和PHP-fpm單獨分開部署,不同服務在服務器集群上的分布更加細致。如果統計Web服務中的壓力分布,可以更加精細地利用硬件資源。運維成本也更高。
從開發測試角度
兩種部署方式都不合適開發環境或測試環境。
開發和測試環境把nginx和PHP部署到一臺服務器上即可,不需要反向代理和負載均衡。
總結
如果是LAMP環境的部署,第一種比較常見。
如果不是LAMP,是nginx和其他fastcgi服務交互,比如C/C++、Java的fastcgi程序,在大規模的網絡應用中,類似第二種的部署是常見的。做到不同服務之間分開部署,反而是簡化了系統的網絡結構,更加便于維護。
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
新聞熱點
疑難解答