天天看點

Spawn-fcgi與PHP-FPM差別

Spawn-fcgi與PHP-FPM

前面介紹過,FastCGI接口方式在腳本解析伺服器上啟動一個或者多個守護程序對動态腳本進行解析,

這些程序就是FastCGI程序管理器,或者稱為FastCGI引擎。 Spawn-fcgi與PHP-FPM就是支援PHP

的兩個FastCGI程序管理器。

下面簡單介紹spawn-fcgi與PHP-FPM的異同。

Spawn-fcgi是HTTP伺服器lighttpd的一部分,目前已經獨立成為一個項目,一般與lighttpd配合使用來支援PHP。

但是ligttpd的spwan-fcgi在高并發通路的時候,會出現記憶體洩漏甚至自動重新開機FastCGI的問題。

Nginx是個輕量級的HTTP server,必須借助第三方的FastCGI處理器才可以對PHP進行解析,是以Nginx+spawn-fcgi

的組合也可以實作對PHP的解析,這裡不過多講述。

PHP-FPM也是一個第三方的FastCGI程序管理器,它是作為PHP的一個更新檔來開發的,在安裝的時候也需要和PHP源碼一起編譯,也就是說PHP-FPM被編譯到PHP核心中,是以在處理性能方面更加優秀。同時PHP-FPM在處理高并發方面也比spawn-fcgi引擎好很多,是以,推薦使用Nginx+PHP/PHP-FPM這個組合對PHP進行解析。

FastCGI 的主要優點是把動态語言和HTTP Server分離開來,是以Nginx與PHP/PHP-FPM經常被部署在不同的伺服器上,

繼續閱讀