Dec 10 2009

Apache i Tomcat – konektor AJP

Bylo juz o konfiguracji kontenera Apache-Tomcat, pojawil sie tez opis mixa Apache-PHP-MySQL, pozostaje jednak, jeszcze pare innych waznych konfiguracji, tj. Tomcat Workers (load balancing) czy konektor AJP, ktorym dzis sie zajmiemy.

W skrocie, konektor AJP sluzy do polaczenia dwoch punktow webowych protokolem AJP, np. serwer Apache na jednej maszynie oraz Tomcat na drugiej. Mozemy ukryc w ten sposob serwer Tomcat przed bezposrednim dostepem z zewnatrz – na przyklad.

1. Instalujemy Apache (na maszynie 192.168.1.1)

czlowiek@maszyna:~$ sudo apt-get install apache2

Domyslna instalacja na apache2-mpm-worker

czlowiek@maszyna:~$ apache2ctl -V
Server version: Apache/2.2.12 (Ubuntu)
Server built:   Nov 12 2009 22:51:51
Server's Module Magic Number: 20051115:23
Server loaded:  APR 1.3.8, APR-Util 1.3.9
Compiled using: APR 1.3.8, APR-Util 1.3.9
Architecture:   32-bit
Server MPM:     Worker
  threaded:     yes (fixed thread count)
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/worker"
...

nie dziala najlepiej w konektorze AJP, wiec instalujemy apache2-mpm-prefork, ktory jest moze mniej wydajny, ale za to bardziej stabilny.

2. Instalujemy apache2-mpm-prefork

czlowiek@maszyna:~$ sudo apt-get install apache2-mpm-prefork

Tak jest poprawnie

czlowiek@maszyna:~$ apache2ctl -V
...
Server MPM:     Prefork
...
 -D APACHE_MPM_DIR="server/mpm/prefork"
...

3. Wlaczamy modul proxy_ajp

czlowiek@maszyna:~$ sudo a2enmod proxy_ajp

4. Konfigurujemy modul

czlowiek@maszyna:~$ sudo nano /etc/apache2/mods-enabled/proxy.conf

wlaczamy requesty i zmieniamy prawa

ProxyRequests On
Allow from all

5. Konfigurujemy konekta, otwieramy konfig apache

czlowiek@maszyna:~$ sudo nano /etc/apache2/sites-enabled/000-default

i dopisujemy linie

ProxyPass /examples/servlets/ ajp://192.168.1.5:8009/examples/servlets/

w wezle

<VirtualHost *:80>

gdzie adres ip 192.168.1.5 bedzie maszyna z zainstalowanym serwerem Tomcat.

Wiec, na drugiej maszynie konfigurujemy Apache-Tomcat. Tym razem pobieramy gotowa paczke – jezeli jednak instalacja, to zapraszam tutaj.

6. Pobieramy najnowsza paczke (na maszynie 192.168.1.5)

czlowiek@maszyna2:~$ sudo -i
root@maszyna2:~$ wget http://ftp.tpnet.pl/vol/d1/apache/tomcat/tomcat-6/v6.0.20/bin/apache-tomcat-6.0.20.tar.gz

7. Ekstraktujemy i kopiujemy

root@maszyna2:~$ tar xzvf apache-tomcat-6.0.20.tar.gz -C /tmp
root@maszyna2:~$ mkdir /usr/local/tomcat6 && cp -R /tmp/apache-tomcat-6.0.20/* /usr/local/tomcat6

8. Testujemy Tomcata

root@maszyna2:~$ wget -q http://localhost:8080 -O /tmp/atest && cat /tmp/atest | grep -i "Apache Tomcat"
    <title>Apache Tomcat</title>
...

lub wpisujemy adres (http://localhost:8080) w ulubionej przegladarce

tomcat-start-page

9. Konfigurujemy Tomcata – otwieramy server.xml i upewniamy sie, ze ponizszy konektor jest odkomentowany.

<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />

Teoretycznie wszystko dziala poprawnie, ale na wszelki wypadek restarty i testy

root@maszyna2:~$ /etc/init.d/apache2 restart
root@maszyna2:~$ /usr/local/tomcat6/bin/shutdown.sh
root@maszyna2:~$ /usr/local/tomcat6/bin/startup.sh

Po wpisaniu adresu http://192.168.1.1/examples/servlets/ dostaniemy strone z przykladami servletow na serwerze Tomcat z maszyny o ip 192.168.1.5

Oczywiscie jezeli port 8009/tcp na maszynie 192.168.1.5 jest zamkniety to trzeba go otworzyc dla polaczen z serwerem Apache zainstalowanym na maszynie 192.168.1.1


Jedna odpowiedz do “Apache i Tomcat – konektor AJP”

Zostaw odpowiedz