在 Apache、LightTPD 和 Nginx Web 伺服器上提供 PHP 5.x 應用程式的目前狀態?

在 Apache、LightTPD 和 Nginx Web 伺服器上提供 PHP 5.x 應用程式的目前狀態?

在過去一年半的時間裡,我一直困在 MS 堆疊架構/開發崗位上,這讓我無法在基於開源堆疊的 Web 伺服器的最新發展中保持領先地位,這超出了我的預期。然而,我現在正在建立一個基於開源堆疊的應用程式/系統架構,遺憾的是我沒有時間對上述每個 Web 伺服器進行徹底的測試來做出決定。所以我想我應該從最著名的系統架構社群獲得輸入。

該網站是有關特定領域和目標受眾的資訊資源,其功能不僅可以幫助用戶查找訊息,還可以出於各種原因以各種方式相互互動。

我選擇開源堆疊是因為它擁有豐富的資源以及比 MS 堆疊更好的產品(即 WordPress 與 BlogEngine.NET)。我覺得 Java 在這方面更處於這些堆疊的中間,儘管我不排除在與實際 Web 應用程式本身無關的某些領域(例如後台進程)使用它的可能性。

我已經得出在 CentOS 上使用 PHP(使用 CodeIgniter 框架和 APC)、MySQL(InnoDB)和 Memcached 的結論。我確實在 Nginx 上提供靜態內容。然而,就效能而言,上述 3 個伺服器對於哪一個最適合動態內容並沒有達成共識。看來 LightTPD 仍然存在洩漏問題,如果確實存在,則排除它,Nginx 似乎在這方面還不夠成熟,當然 Apache 試圖為每個人提供一切。

我仍然會編譯所選的版本,並進行盡可能多的效能調整,例如靜態連結等。我相信我可以讓 Apache 在透過此過程提供動態內容而不是提供任何靜態內容方面與其他兩個相符。然而,在我的研究過程中,其他的似乎仍然值得考慮。

因此,考慮到所有事情,我很想聽聽這裡的每個人對此事的看法。謝謝!

答案1

帶著幾粒鹽來看這個,但是我的印象是 Apache 比其他兩個伺服器更容易配置為 PHP 提供服務。如果你正確設定 Apache,即不載入不必要的模組,控制進程/執行緒的數量等,那麼我認為你可以使其在效率上相當接近 nginx 或 lighttpd。我認為很多人對於使用lighttpd 或nginx 相對於Apache 動態產生頁面所獲得的改進有一些誇大的看法。

答案2

我個人認為nginx比Apache更容易設定。查看 Apache 設定往往會讓我頭痛。

就配置而言,我目前的首選設定是 nginx + php-fpm + APC。我有幾個客戶端使用此配置運行得非常愉快,而且他們通常已經遷移了基於 Apache 的設定。顯然,YMMV。 =)

答案3

既然你提到CodeIgniter,你可能想看看Kohana,它最初是CodeIgniter的一個分支,但是在php5的改進的OO概念上實現了所有的OO。喜好。

相關內容