Apache-2.2

阿帕奇的替代品

  • August 31, 2010

我們目前的堆棧是 Apache + Tomcat + MySQL,使用ProxyPassAJP 來觸發從 Apache 到 Tomcat 的請求。我們還在同一站點上執行 PHP for Wordpress,因此需要工作.htaccess文件。為了解決一個惱人的問題(請參閱此堆棧溢出頁面),我們正在考慮替代堆棧。請注意,我們通常非常喜歡 Apache,但這個問題是一個障礙:如果我們不能修復它,我們就不能使用 Apache。

替代方案包括:

  • 單獨的Tomcat
  • Glassfish(Java 應用伺服器,從 Tomcat 分叉)
  • 碼頭(Java 伺服器)
  • 樹脂
  • LightTPD(輕量級 HTTP 伺服器)
  • Nginx(輕量級 HTTP 伺服器)

在我看來,解決方案分為兩個陣營:純 Java 陣營,例如 Glassfish;或者分裂陣營比如我們現在的 Apache + Tomcat。我們喜歡純 Java 解決方案的想法,因為更少的移動元件應該意味著更少的出錯;但是它們中的任何一個都支持 PHP、.htaccess文件等嗎?

從理論上講,我們可以用另一種方​​式進行拆分——有一個簡單的前端,只在需要這些功能的那些位上代理 Apache——但實際上這將是 80% 的請求。

人們建議什麼選擇?

我強烈懷疑您的問題與 AJP 有關。

幾週前,我和一位主要的 Tomcat 開發人員一起參加了課程(他正在執行它),他的建議是避免 AJP 和 mod-JK 等,並堅持使用正常的 mod-proxy HTTP。

原因:

  1. 它是迄今為止最成熟、最穩定的 Tomcat 連接器。
  2. 兩種 AJP 實現都沒有得到一致的開發;這兩個項目都經歷了一些停止/啟動。
  3. 在這種情況下,NBIO 不會比阻塞 IO 帶來任何現實世界的性能提升。

我的建議是,嘗試在目前設置中使用正常 mod-proxy HTTP。這對您來說是最少的更改,它將帶您進入使用最廣泛和最穩定的 Tomcat 部署架構。

/ 里奇

引用自:https://serverfault.com/questions/589