Apache & JBoss utiliser le port 80 en même temps
J'ai à la fois Apache 2 et JBoss 4.2.3 sur la même machine et souhaitent que les deux d'entre eux pour utiliser le port 80. Il ya plusieurs façons que je vois des gens faire ce mod_jk, mod_proxy, mais je ne suis pas sûr que l'on est le meilleur.
Je n'ai pas besoin d'équilibrage de la charge, mais je n'ai besoin de HTTPS.
Pourquoi avez-vous besoin à la fois de JBoss et qu'Apache écoute sur le même port? Qu'essayez-vous de réaliser?
Une des raisons serait que vous n'avez qu'une adresse IP disponible et que vous voulez que votre application web pour répondre sur le port 443 (la nécessité pour JBoss pour répondre à port 443). La même machine héberge également votre dépôt subversion et mis à disposition via apache sur le port 443. En utilisant la méthode décrite ci-dessous, le serveur apache peut répondre et servir svn requêtes sur le port 443 et transmettre les demandes d'applications web JBoss par AJP.
Une des raisons serait que vous n'avez qu'une adresse IP disponible et que vous voulez que votre application web pour répondre sur le port 443 (la nécessité pour JBoss pour répondre à port 443). La même machine héberge également votre dépôt subversion et mis à disposition via apache sur le port 443. En utilisant la méthode décrite ci-dessous, le serveur apache peut répondre et servir svn requêtes sur le port 443 et transmettre les demandes d'applications web JBoss par AJP.
OriginalL'auteur Stella Peristeraki | 2009-08-31
Vous devez vous connecter pour publier un commentaire.
Vous ne pouvez pas avoir deux applications à l'écoute sur le même port tcp (80) en même temps. Vous pouvez utiliser mod_jk pour avoir des requêtes http sur le port 80 acheminé à partir du serveur Apache pour le serveur JBoss. C'est la méthode que je suis plus familier avec et préférez. mod_proxy devrait également fonctionner, mais je trouve cette méthode un peu plus compliquée.
Configuration de https sur un serveur Apache est probablement mieux traitée comme un sujet distinct. Il y a des problèmes avec l'achat d'un certificat ssl, la création d'un certificat auto-signé, etc.
Il y a deux étapes à suivre pour accomplir configurer mod_jk pour acheminer les demandes à partir du serveur Apache pour le serveur JBoss:
Configurer le serveur web Apache pour transmettre des demandes pour le serveur JBoss.
La configuration d'Apache va varier en fonction de la distribution d'Apache que vous utilisez (windows, RHEL, debian, construit à partir de la source, etc.) mais ces notions doivent être de même pour toute installation d'Apache.
Vous devez télécharger mod_jk pour votre plate-forme de l'tomcat site web:
http://tomcat.apache.org/download-connectors.cgi
Votre fournisseur du système d'exploitation peut fournir un binaire pour vous, afin de vérifier en premier. Vous pouvez également compiler mod_jk vous-même si vous préférez.
Copiez le mod_jk binaire (mod_jk.donc, pour les systèmes Linux/UNIX, vous ne savez pas à propos de windows) dans votre serveurs Apache modules répertoire (cela dépend de l'Apache distribution que vous utilisez).
Ajouter l'équivalent de la directive à votre configuration d'Apache:
Vous devez ajouter deux fichiers de configuration du répertoire de configuration d'Apache: mod_jk.conf et de travailleurs.les propriétés. Vous devez inclure mod_jk.conf de le principal fichier de configuration d'Apache:
Les travailleurs.les propriétés de fichier est inclus par mod_jk.conf avec le JkWorkersFile directive.
Des réglages plus détaillés pour mod_jk.conf peut être trouvé à l'tomcat page de documentation:
http://tomcat.apache.org/connectors-doc/reference/apache.html
Les directives importantes sont:
JkWorkersFile (indique les cas où les travailleurs.fichier de propriétés vie)
JkMount (point de montage pour la cartographie de l'URI pour tomcat travailleur)
Un exemple:
Ces directives carte de la /des exemples et /exemples/URI de la myworker tomcat travailleur.
Conceptuellement, vous pouvez penser à un travailleur en tant que représentant d'un tomcat ou JBoss instance et de la montagne, comme un moyen de mappage d'un URI pour un travailleur. Cette manière de représenter les choses permet à un serveur Apache à l'extrémité avant pour plusieurs tomcat ou JBoss serveurs. Cela peut être pratique si vous avez une seule adresse IP, vous pouvez utiliser, mais vous voulez exécuter plusieurs serveurs d'application derrière un serveur Apache.
Les travailleurs.des fichiers de propriétés décrit le tomcat ou JBoss server(s) que le serveur Apache va se connecter. Important entrées dans ce fichier sont:
Il y a d'autres travailleurs des propriétés qui peuvent être trouvés dans le tomcat page de documentation pour les travailleurs.fichier de propriétés:
http://tomcat.apache.org/connectors-doc/reference/workers.html
Configurer le serveur JBoss pour accepter les connexions du serveur Apache
JBoss server est configuré pour accepter mod_jk les connexions sur le port 8009 (la valeur par défaut port ajp) hors de la boîte, mais il est bon de savoir où configurer cela dans le cas où vous souhaitez modifier à l'avenir.
La configuration est dans le tomcat partie en fonction du serveur JBoss situé dans ${JBOSS_SERVER_CONFIGURATION}/deploy/jbossweb.sar/server.xml. C'est pour JBoss as 5.1.0.GA, les versions antérieures sont dans un endroit similaire. Le mod_jk connecteur est configuré dans la section de raccordement pour l'AJP 1.3 protocole et ressemble:
La raison la plus courante pour modifier cette section si vous avez plusieurs tomcat ou JBoss serveurs de connexion à apache via le protocole AJP, vous pouvez régler le numéro de port que le connecteur AJP sera à l'écoute sur donc il n'y a pas de conflits.
OriginalL'auteur Lloyd Meinholz