NGINX+PHP(FASTCGI)好,還是NGINX+APACHE+PHP好?

http://www.oschina.net/question/1047141_151910?sort=default&p=2#tags_nav


GINX+PHP(FASTCGI)好,還是NGINX+APACHE+PHP好?




 第一種是利用CGI讓NGINX和PHP進行通信

第二種是靜態NGINX  動態讓APACHE裏的MOD_PHP模塊來實現PHP


二種都是NGINX在前端80端口,作爲一個反向代理服務器。

這2種哪種效率高呢?

引用來自“南湖船老大”的評論

如果單臺服務器的話,NGINX+APACHE+PHP 純粹多此一舉,多了一次請求轉發,效率肯定低,而且現在FPM已經足夠穩定。完全沒必要。

只有多臺服務器集羣的話,apache+nginx反代纔有意義.NGINX+APACHE+PHP 這種架構存在的原因除了apache出現比較早外,還因爲當時FPM不如module模式穩定。


不見得。Nginx在前面實現動靜分離,靜態內容由Nginx負責,動態請求則交給後面的PHP應用服務器Apache(libphp5.so)處理。Apache專心處理PHP,這不挺好嗎?

Nginx+PHP-FPM相對Nginx+Apache(libphp5.so)來說,PHP-FPM更靈活,在php-fpm.conf裏可以配置監聽不同端口的多個pool,每個pool又可以自由配置PHP-FPM工人進程數pm.max_children,一個pool裏的工人進程繁忙不會影響到另一個pool。在Nginx裏可以配置應用的不同部分使用不同的pool,而且一臺服務器上可以運行多個版本的PHP-FPM,藉助Nginx的upstream功能,PHP-FPM非常容易橫向擴展。

新浪微博百度貼吧都在使用Nginx+PHP-FPM的架構,PHP-FPM已經足夠穩定。


ab同樣併發數壓力測試ZF下RPS(請求每秒)對比:

--- 共有 6 條評論 ---
  • eechen回覆 @ZhangKevin2 : PHP-FPM從5.3開始就集成到PHP核心,如果不穩定,你覺得新浪微博和百度貼吧會用嗎?倒是PHP官方不推薦在生產環境中使用threaded MPM(worker/event)模式運行Apache2,仍建議使用老式prefork MPM.(2年前)  
  • ZhangKevin2回覆 @eechen : 但是貌似沒有APACHE+PHP組合穩定吧(2年前)  
  • eechen回覆 @ZhangKevin2 : 你的意思是說Nginx+PHP-FPM存在FastCGI進程間通信,所以Apache2.4+MOD_PHP的性能要比前者好。但Nginx比Apache輕量高效是有目共睹的,處理靜態文件和負載均衡都很強。另外PHP-FPM的可以通過php-fpm.conf和php.ini進行配置,擁有更高的可配置性。(2年前)  
  • ZhangKevin2回覆 @eechen : apache不是出道2.4了麼,聽說提升了速度,另外 NGINX和PHP通信用到了CGI技術,而APACHE和PHP貌似用的是APACHE裏一個MOD_PHP模塊 好像原理有本質的區別(2年前)  
  • eechen回覆 @yak : 差距雖然不大。但Nginx+FPM優於Apache+MOD_PHP是事實。(2年前)  


不要人云亦云,有同學做benchmark test,參考詳情http://www.zhihu.com/question/20049768/answer/33583461?group_id=517997974975029248

如果是單P,apache的MOD_PHP的效率超過FPM(這裏不考慮請求處理模式所產生的內存與CPU消耗,只測web server對動態內容併發請求的處理),

還有國外某程序員做的併發測試,在純PHP處理大量動態內容的測試條件下,Apache始終還是強過nginx

http://www.eschrade.com/page/why-is-fastcgi-w-nginx-so-much-faster-than-apache-w-mod_php/

如果你羣P又有大量靜態內容,用nginx反向+APACHE動態是最好選擇

不過國外一些VPS用戶還是建議即使單P還是用nginx,因爲服務器資源有限,nginx對於內存和CPU的消耗都低於apache很多。(小站剛開始就不考慮那麼多併發了吧)


我來插科打諢。

現在流行nginx+hhvm(fastcgi),速度槓槓的,都開了掛,

nginx比apache強10倍,hhvm比php-fpm強9倍。


發佈了21 篇原創文章 · 獲贊 24 · 訪問量 43萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章