Unser aktueller Stack ist Apache + Tomcat + MySQL und verwendet ProxyPass
AJP, um Anforderungen von Apache an Tomcat auszulösen. Wir führen auch PHP für Wordpress auf denselben Sites aus und benötigen daher Arbeitsdateien .htaccess
. Als Reaktion auf ein ärgerliches Problem (siehe diese Seite zum Stapelüberlauf) ziehen wir alternative Stapel in Betracht. Beachten Sie, dass wir Apache im Allgemeinen sehr mögen, aber dieses Problem ist ein Show-Stopper: Wenn wir es nicht beheben können, können wir Apache nicht verwenden.
Alternativen umfassen:
- Tomcat allein
- Glassfish (Java-App-Server, gegabelt von Tomcat)
- Anlegesteg (Java Server)
- Harz
- LightTPD (leichter HTTP-Server)
- Nginx (leichter HTTP-Server)
So wie ich es sehe, fallen Lösungen in zwei Lager: das reine Java-Lager wie Glassfish; oder das Split Camp wie unser aktueller Apache + Tomcat. Wir mögen die Idee einer reinen Java-Lösung, da weniger bewegliche Teile weniger Fehler bedeuten sollten. Aber unterstützt einer von ihnen PHP, .htaccess
Dateien usw.?
Theoretisch könnten wir die Aufteilung in die andere Richtung machen - ein einfaches Front-End, das Apache nur auf die Bits überträgt, die diese Funktionen benötigen -, aber in der Praxis wären das 80% der Anfragen.
Welche Optionen schlagen die Leute vor?
Antworten:
Ich vermute sehr, dass Ihr Problem mit AJP zusammenhängt.
Ich war vor ein paar Wochen in einem Kurs bei einem der Hauptentwickler von Tomcat (er führte ihn aus). Sein Rat war, AJP und Mod-JK usw. zu vermeiden und mich an reguläres Mod-Proxy-HTTP zu halten.
Gründe dafür:
Mein Rat, versuchen Sie es mit regulären Mod-Proxy-HTTP mit Ihrem aktuellen Setup. Dies ist die geringste Änderung für Sie und führt Sie zu der am weitesten verbreiteten und stabilsten Tomcat-Bereitstellungsarchitektur.
/ Richy
quelle
Mein momentan bevorzugter Stack ist die Verwendung von Nginx als Ersatz für Apache. Wo immer nötig, füllt php-fpm den Bedarf an PHP aus. Ein solches Setup hat sich gut für die Bereitstellung von Apps wie Rails, Magento und SugarCRM bewährt.
quelle
Glassfish ist skalierbarer als Tomcat, da es Grizzly (NIO-basiert) verwendet. Sie haben aufgrund der Java-Anforderungen nur eine Variante von Tomcat, Jetty oder Glassfish zur Auswahl. PHP kann mit Quercus ausgeführt werden , es ist jedoch möglicherweise besser, es nur mit Nginx bereitzustellen.
quelle
Es gibt PHP-Implementierungen auf Java. Die, die ich kenne (aber nicht verwendet habe), ist diese . Es gibt einen Blog-Beitrag darüber, wie man es auf GlassFish (einschließlich WordPress) installiert , aber ich denke, die Installation auf Tomcat ist dieselbe. In Bezug auf .htaccess haben Sie nicht genau geschrieben, was Sie dort haben, aber wenn es um das Umschreiben von URLs geht, gibt es den UrlRewriteFilter , der die gleiche Arbeit mit der gleichen Semantik ausführt .
quelle
Cherokee? wo ist er ? http://www.cherokee-project.com/
quelle