2 votes

Comment configurer à la fois apache et tomcat sur la même url ?

Disons que j'ai une URL enregistrée mywebsite.com pointant vers mon serveur avec une adresse IP publique.

Je veux faire tourner à la fois tomcat et apache pour servir des pages (c'est-à-dire certaines pages statiques sur apache et certaines pages dynamiques sur tomcat, comme des jsp etc...).

Pour simplifier, supposons qu'apache écoute sur 80 et tomcat sur 8080.

J'ai entendu parler de mod_proxy . Est-il possible d'avoir des demandes pour mywebsite.com allez dans apache et mywebsite/loggedin aller vers tomcat ? Si oui, comment cela doit-il être configuré et où ? Merci.

3voto

Andrew M. Points 10852

Je recommande d'utiliser mod_jk -- il a tendance à être plus spécifique que mod_proxy et plus facile à déboguer. Vous pouvez faire suivre les contextes. Par exemple, si j'ai webapp1 y webapp2 fonctionnant sur Tomcat, et j'ai un images sur Apache, cela fonctionnerait :

<VirtualHost *:80>
    ...
    JKMount /webapp1/* ajp13
    JKMount /webapp2/* ajp13
    Alias /images "/some/local/dir"
</VirtualHost>

C'est aussi beaucoup plus facile à configurer, et la plupart des distributions ont déjà des paquets dans leurs gestionnaires de paquets natifs. J'espère que cela vous aidera !

1voto

Bas van Dijk Points 111

Mod_proxy fonctionne bien avec tomcat. Il y a deux façons de se connecter à tomcat via mod_proxy.

  1. http - Ainsi, tomcat fonctionne comme un serveur http et apache communique avec tomcat via HTTP.
  2. mod_proxy_ajp - Il utilise le protocole ajp (également utilisé par mod_jk). Dans ce cas, apache communique avec tomcat via un protocole binaire qui offre de meilleures performances.

mod_proxy_ajp est un paquetage fourni avec Apache, contrairement à mod_jk qui doit être téléchargé et compilé. Mais mod_jk obtient généralement de nouvelles fonctionnalités en premier et dispose de plus d'options. Si votre configuration n'est PAS complexe ... mod_proxy_ajp est la voie à suivre. Dans ce cas, dans Tomcat, vous devez configurer Tomcat pour avoir un connecteur AJP. Et vous n'aurez pas besoin d'un connecteur http dans server.xml. Pour Apache, la directive peut être aussi simple que ceci :

  ProxyPass /loggedin  ajp://127.0.0.2:8009/loggedin 

Les documents sur le proxy avec des exemples d'ajp sont ici : http://httpd.apache.org/docs/2.2/mod/mod_proxy.html

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X