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.