Konfiguration eines Apache2 mit mod_jk. In diesem Tutorial beschreibe ich, wie man Tomcat hinter einem Apache Webserver betreiben kann. Darüber kann man z.B. Java Webanwendungen direkt an den Webserver anbinden. Oder Load Balancing realisieren. Oder sich einfach nur die Eingabe von dem Port sparen. Dies hat nicht nur den Vorteil der kürzeren Schreibweise, sondern gibt die Möglichkeit, per AJAX Calls von der Website Funktionalitäten von Java Webanwendungen aufrufen zu können.
Um das ganze einzurichten, benötigen wir 3, eigentlich 4 Komponenten.
Apache Webserver und mod_jk per Paketmanager installieren. Sollte hierbei ein Problem auftreten, bitte die vielen Tutorials zur Installation der beiden Programme anschauen. Wenn Tomcat geht, am besten schonmal eine Webapplication deployen, um die weitere Funktionalität direkt testen zu können. |
|
Erst einmal überprüfen, ob unter /etc/apache2/mod-enabled/ die Datei jk.load verlinkt ist.Wenn Nein, dann den Link erzeugen. ln -s /etc/apache2/mods-available/jk.load /etc/apache2/mods-enabled/ |
|
Die Datei /etc/apache2/conf/tomcat erzeugen und folgenden Inhalt einfügen.
#LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties JkShmFile /var/lock/apache2/mod_jk.shm JkLogFile /var/log/apache2/mod_jk.log JkLogLevel info JkLogStampFormat „[%a %b %d %H:%M:%S %Y] „ Die oberste auskommentierte Zeile würde das Modul laden. Dies ist jedoch nur nötig,wenn die Datei jk.load nicht verlinkt wurde |
|
Als nächstes die Datei, die oben unter JWorkersFile steht erzeugen und folgenden Inhalt einfügen.
worker.list=tom
worker.tom.type=ajp13 worker.tom.host=localhost worker.tom.port=8009 In der ersten Zeile bekommt der Worker einen Namen, in diesem Fall „tom“. Dieser Name ist jedoch frei wählbar. Wird hier ein anderer Name vergeben, muss das „.tom.“ in den folgenden Zeilen angepasst werden. |
|
Jetzt ist der Worker konfiguriert und muss nur noch mit der jeweiligen Webapp verknüpft werden.Dazu unter /etc/apache2/sites-enabled die verlinkte Datei öffnen und relativ weit oben folgende Zeile(n) einfügen. JKMount /NAME_DER_WEBAPP/* tom Wurde in der workers.properties der Name verändert, muss diese Zeile ebenfalls mit diesem Namen enden. |
|
Jetzt muss man Tomcat und den Apachen noch neu starten und dann klappt der Zugriff über http://localhost/NAME_DER_WEBAPP . | |
Falls es nicht klappt, in der Tomcat Konfiguration server.xml überprüfen, ob folgende Zeile auskommentiert ist. Falls sie nicht auskommentiert ist, überprüfen, ob hier derselbe Port „8009“ wie in der „workers.properties“ eingetragen ist.Falls sie auskommentiert ist, die Kommentarzeichen entfernen |