Witam,

Czas zacząć przygodę z blogiem. Choć okoliczności nie są sprzyjające, miło mi stworzyć coś swojego, dzielić się doświadczeniem i refleksjami z życia programisty. O tym kim jestem i co robię, dowiesz się ze strony O mnie. Teraz zachęcam do lektury.

O tym, co to jest Apache HTTP, zapewne wie każdy programista aplikacji internetowych. Jednak, co to jest Apache Tomcat, już wie zdecydowanie mniej, a warto wiedzieć, bo daje on nam spore możliwości. Załóżmy, że posiadamy aplikację pisaną w Javie (lub opartą o serwer Javy – nie musi iść to w parze!) to najważniejszą rzeczą jest wybranie kontenera aplikacyjnego. Jest wiele alternatyw, np. JBoss, Apache Geronimo, Apache Jetty, ale Tomcat jest niezwykle popularny (nie ujmując pozostałym, które nierzadko są bardziej rozbudowane). Miałem przyjemność pracować z każdym kontenerem aplikacyjnym – nie zawsze długo, ale pozwoliło mi to do wystawienia subiektywnej, wewnętrznej oceny. O ile na Jetty i Tomcacie pracowało mi się przyjemnie, o tyle JBoss i Geronimo już nie pozwoliły sobie na taką opinię. Domyślam się, że musiałbym zdecydowanie więcej czasu spędzić na poznaniu ich „od środka” 🙂

Ale do rzeczy. Cały temat „połączenia” kontenerów rozbija się o moduł mod_jk,  który akceptuje połączenia na standardowym porcie (80), tłumaczy zapytanie i przesyła je do Tomcat. W ten sposób dostęp do webapp możliwy jest bez podawania portu kontenera Tomcat. Zasada działania dobrze zobrazowana jest na poniższej grafice.

AJP1.3 connector

Strona domowa konektora: http://tomcat.apache.org/connectors-doc/index.html

Samo dołączenie i uaktywnienie modułu nie jest skomplikowane i opiera się o kilka kroków:
1) Pobieramy mod_jk – http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/
2) Dokonujemy zmian w web serverze Apache – httpd.conf, zgodnie z – http://tomcat.apache.org/connectors-doc/generic_howto/quick.html
– pamiętamy o podmianie ścieżek
– JkMount może być podane wielokrotnie (kiedy chcemy „przekierować” na Tomcata kilka konkretnych adresów)
3) Kopiujemy mod_jk.so we wskazane w konfiguracji miejsce
4) Tworzymy workers.properties we wskazanej w konfiguracji ścieżce (port ajp13 należy odczytać z server.xml Tomcata!)

Testujemy podając url aplikacji już bez portu kontenera Tomcat.

Dziękuję za odwiedziny. Jeśli zauważyłeś błąd, masz jakieś pomysły, chcesz podzielić się swoją opinią, wiedzą, lub ewentualnie chcesz zmotywować do rozwoju bloga – zamieść komentarz. Będzie mi bardzo miło.
Pozdrawiam.