Notre pile actuelle est Apache + Tomcat + MySQL, utilisant ProxyPass
AJP pour envoyer des requêtes d'Apache à Tomcat. Nous exécutons également PHP pour Wordpress sur les mêmes sites, et avons donc besoin de .htaccess
fichiers de travail . En réponse à un problème gênant (voir cette page Stack Overflow) , nous envisageons des piles alternatives. Notez que nous aimons généralement assez apache, mais ce problème est un bouchon d'arrêt: si nous ne pouvons pas le résoudre, nous ne pouvons pas utiliser Apache.
Les alternatives incluent:
- Tomcat seul
- Glassfish (serveur d'application Java, issu de Tomcat)
- Jetty (serveur Java)
- Résine
- LightTPD (serveur HTTP léger)
- Nginx (serveur HTTP léger)
À mon avis, les solutions se répartissent en deux camps: le pur camp Java, comme Glassfish; ou le camp divisé comme notre Apache + Tomcat actuel. Nous aimons l'idée d'une solution Java pure, car moins de pièces mobiles devraient signifier moins de mal tourner; mais certains d'entre eux prennent-ils en charge PHP, les .htaccess
fichiers, etc.?
En théorie, nous pourrions faire le fractionnement dans l'autre sens - avoir un front-end simple qui se substitue à Apache uniquement sur les bits qui ont besoin de ces fonctionnalités - mais en pratique, cela représenterait 80% des demandes.
Quelles options les gens suggèrent-ils?
Réponses:
Je soupçonne fortement que votre problème est lié à AJP.
J'étais en cours avec l'un des principaux développeurs de Tomcat il y a quelques semaines (il l'exécutait), son conseil était d'éviter AJP et mod-JK, etc., et de s'en tenir au HTTP mod-proxy standard.
Les raisons:
Mon conseil, essayez d'utiliser HTTP mod-proxy standard avec votre configuration actuelle. C'est le moindre changement pour vous et il vous emmènera vers l'architecture de déploiement Tomcat la plus largement utilisée et la plus stable.
/ Richy
la source
Ma pile préférée actuelle est d'utiliser nginx en remplacement d'Apache. Chaque fois que cela est nécessaire, php-fpm répond au besoin de PHP. Une telle configuration a bien fonctionné pour déployer des applications telles que Rails, Magento et SugarCRM.
la source
Glassfish sera plus évolutif que Tomcat car il utilise Grizzly (basé sur NIO). Vous n'avez pas beaucoup d'options autres qu'une variante de Tomcat, Jetty ou Glassfish en raison de l'exigence Java. PHP peut être exécuté en utilisant Quercus , mais il peut être préférable de simplement le déployer en utilisant Nginx.
la source
Il existe des implémentations PHP sur Java, celle que je connais (mais que je n'ai pas utilisée) est celle-ci . Il y a un article de blog sur la façon de l'installer sur GlassFish (y compris WordPress), mais je suppose que l'installation sur tomcat est la même. Concernant le .htaccess, vous n'avez pas écrit exactement ce que vous avez là, mais si c'est pour la réécriture d'URL, il y a le UrlRewriteFilter qui fait le même travail avec la même sémantique.
la source
Cherokee? où est-il ? http://www.cherokee-project.com/
la source