Nasz obecny stos to Apache + Tomcat + MySQL, używający ProxyPass
AJP do uruchamiania żądań z Apache do Tomcat. Na tych samych stronach uruchamiamy również PHP dla Wordpress, dlatego potrzebujemy .htaccess
plików roboczych . W odpowiedzi na irytujący problem (patrz strona Przepełnienie stosu) rozważamy alternatywne stosy. Zauważ, że generalnie lubimy apache, ale ten problem jest przeszkodą: jeśli nie możemy go naprawić, nie możemy używać Apache.
Alternatywy obejmują:
- Sam Tomcat
- Glassfish (serwer aplikacji Java, rozwidlony z Tomcat)
- Jetty (serwer Java)
- Żywica
- LightTPD (lekki serwer HTTP)
- Nginx (lekki serwer HTTP)
Moim zdaniem rozwiązania dzielą się na dwa obozy: czysty obóz Java, taki jak Glassfish; lub rozdzielony obóz, taki jak nasz obecny Apache + Tomcat. Podoba nam się pomysł czystego rozwiązania Java, ponieważ mniej części ruchomych powinno oznaczać mniej błędów; ale czy któryś z nich obsługuje PHP, .htaccess
pliki itp.?
Teoretycznie możemy dokonać podziału w inny sposób - mieć prosty interfejs, który pośredniczy w Apache tylko na tych bitach, które wymagają tych funkcji - ale w praktyce byłoby to 80% żądań.
Jakie opcje sugerują ludzie?
Odpowiedzi:
Podejrzewam, że twój problem jest związany z AJP.
Kilka tygodni temu byłem na kursie z jednym z głównych programistów Tomcat (on go prowadził), jego rada polegała na unikaniu AJP i mod-JK itp. Oraz trzymaniu się zwykłego mod-proxy HTTP.
Powody:
Moja rada, spróbuj użyć zwykłego mod-proxy HTTP przy obecnej konfiguracji. Jest to najmniejsza zmiana dla Ciebie i przeniesie Cię do najczęściej stosowanej i stabilnej architektury wdrażania Tomcat.
/ Richy
źródło
Mój obecny preferowany stos to użycie nginx jako zamiennika Apache. Gdziekolwiek to konieczne, php-fpm zaspokaja potrzebę PHP. Taka konfiguracja sprawdziła się przy wdrażaniu aplikacji takich jak Rails, Magento i SugarCRM.
źródło
Glassfish będzie bardziej skalowalny niż Tomcat, ponieważ wykorzystuje Grizzly (oparty na NIO). Nie masz wielu opcji innych niż odmiany Tomcat, Jetty lub Glassfish z powodu wymagań Java. PHP można uruchomić za pomocą Quercus , ale może być lepiej po prostu wdrożyć go za pomocą Nginx.
źródło
Istnieją implementacje PHP na Javie. Ten, który znam (ale go nie użyłem), to ten . Jest post na blogu, w jaki sposób zainstalować go na GlassFish (w tym WordPress), ale myślę, że instalacja na tomcat jest taka sama. Jeśli chodzi o .htaccess, nie napisałeś, co dokładnie tam masz, ale jeśli chodzi o przepisywanie adresów URL, to istnieje UrlRewriteFilter, który wykonuje tę samą pracę z tą samą semantyką.
źródło
Cherokee? gdzie on jest ? http://www.cherokee-project.com/
źródło