Apache Alternatifleri


15

Mevcut yığımız Apache + Tomcat + MySQL, ProxyPassApache'den Tomcat'e istekleri ateşlemek için AJP kullanıyor . Ayrıca Wordpress için PHP'yi aynı sitelerde çalıştırıyoruz ve bu nedenle çalışan .htaccessdosyalara ihtiyacımız var . Can sıkıcı bir soruna yanıt olarak (bu Yığın Taşması sayfasına bakın) , alternatif yığınlar düşünüyoruz. Genelde apache'yi oldukça sevdiğimizi unutmayın, ancak bu sorun bir gösteri durdurucudur: düzeltemezsek Apache'yi kullanamayız.

Alternatifler:

  • Tomcat yalnız
  • Glassfish (Java uygulama sunucusu, Tomcat'ten çatallanmış)
  • İskele (Java sunucusu)
  • Reçine
  • LightTPD (hafif HTTP sunucusu)
  • Nginx (hafif HTTP sunucusu)

Gördüğüm gibi çözümler iki kampa düşüyor: Glassfish gibi saf Java kampı; veya şu anki Apache + Tomcat gibi bölünmüş kamp. Daha az hareketli parça yanlış gitmek için daha az anlamına geleceğinden, saf bir Java çözümü fikrini seviyoruz; ama herhangi biri PHP, .htaccessdosyaları vb. destekliyor mu?

Teoride bölünmeyi başka şekilde yapabiliriz - sadece bu özelliklere ihtiyaç duyan bitlerde Apache'ye vekalet eden basit bir ön uca sahip olabiliriz - ancak pratikte isteklerin% 80'i olurdu.

Kişiler hangi seçenekleri önerir?


"Sinir bozucu show-stoper probleminizi" biraz daha ayrıntılı olarak düşünür müsünüz, yoksa tamamen ilgisiz mi?
mark

Daha fazla ayrıntı için StackOverflow sayfasının bağlantısını izleyin. Bu, istemcilerin yanlış yanıt verdikleri bir hatadır - bazen HTML yerine JS veya CSS dosyaları veya tamamen yanlış sayfa almak. Apache ve Tomcat içinde düşünebileceğimiz hemen hemen her şeyi denedik.
Marcus Downing

Yanıtlar:


7

Sorununuzun AJP ile ilgili olduğundan şüpheleniyorum.

Birkaç hafta önce ana Tomcat geliştiricilerinden biriyle bir dersdeydim (çalıştırıyordu), tavsiyesi AJP ve mod-JK vb.

Nedenleri:

  1. Bu, en olgun ve kararlı Tomcat konektörüdür.
  2. Her iki AJP uygulaması da sürekli olarak geliştirilmemiştir; her iki proje de biraz dur / kalktı.
  3. NBIO, bu durumda, engelleme-IO üzerinde gerçek bir performans artışı ile sonuçlanmaz.

Tavsiyem, mevcut kurulumunuzda düzenli mod-proxy HTTP kullanmayı deneyin. Bu sizin için en az değişiklik ve sizi en yaygın kullanılan ve istikrarlı Tomcat dağıtım mimarisine götürecek.

/ Richy


Sanırım bir şans verebilirim. Performans farkıyla ilgili kesin rakamlarınız var mı?
Marcus Downing

Normal mod-proxy'yi nasıl kullanabilirim ve yine de Tomcat'e gelen doğru ana bilgisayar adlarını alabilirim? Eminim ki şu anda hepsi yerel ev sahibi olarak kabul ediliyor.
Marcus Downing

2
ProxyPreserveHost On muhtemelen aradığınız şeydir. httpd.apache.org/docs/2.2/mod/mod_proxy.html#proxypreservehost
Stephen Veiss

5

Şu anda tercih ettiğim yığın, Apache yerine nginx kullanmaktır. Gerektiğinde php-fpm PHP ihtiyacını karşılar. Böyle bir kurulum, Rails, Magento ve SugarCRM gibi uygulamaları dağıtmak için güzel çalıştı.


4

Glassfish, Grizzly (NIO tabanlı) kullandığından Tomcat'ten daha ölçeklenebilir olacaktır. Java gereksinimi nedeniyle Tomcat, Jetty veya Glassfish'in bir varyasyonu dışında çok seçeneğiniz yok. PHP Quercus kullanarak çalıştırılabilir , ancak sadece Nginx kullanarak dağıtmak daha iyi olabilir.


2

Java üzerinde PHP uygulamaları var, Bildiğim (ama kullanmadığım) bu . GlassFish'e (WordPress dahil) nasıl yükleneceğine dair bir blog yazısı var , ancak tomcat'teki kurulum aynı. .Htaccess ile ilgili olarak tam olarak neye sahip olduğunuzu yazmadınız, ancak URL yeniden yazma içinse , aynı semantikle aynı işi yapan UrlRewriteFilter var .


.Htaccess dosyaları çoğunlukla WordPress tarafından oluşturulan dosyalardır, bu nedenle birkaç basit RewriteRules içerir
Marcus Downing

Ben PHP onları desteklemeyeceğini tahmin, ama onları okur ve filtreye tanımları geçen bir işlem olması zor olmamalı.
David Rabinowitz

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.