1.4. fejezet, Apache httpd ajp
Ha Apache httpd alá szeretnénk betenni a JBoss 7.x-et, akkor szerkesszük a standalone.xml-t az alábbiak szerint:
<subsystem xmlns="urn:jboss:domain:web:1.1" default-virtual-server="default-host" native="false"> <connector name="http" protocol="HTTP/1.1" scheme="http" socket-binding="http"/> <connector name="ajp" protocol="AJP/1.3" scheme="http" socket-binding="ajp"/> <virtual-server name="default-host" enable-welcome-root="true"> <alias name="localhost"/> <alias name="example.com"/> </virtual-server> </subsystem>
Fontos, hogy az AJP protokoll elérhető legyen a httpd számára. A proxy_module és a proxy_ajp_module alkalmazásával a httpd fogadni és továbbítani tudja a kéréseket az AJP protokollt ismerő szerver felé. Azonban technikai okokból a mod_jk alkalmazását javasoljuk:
- bináris protokollt használ, emiatt gyorsabb
- az IP címek megmaradnak, mert nem épül fel új HTTP kérés
- időtúllépés esetén "együtt" állnak le a szálak
- a mod_proxy megszakíthatja úgy a kiszolgálást, hogy közben a JBoss még dolgozik
A mod_jk telepítése
Nyissunk egy terminál ablakot, és telepítsük az apache2 mod_jk modult:
sudo apt-get install libapache2-mod-jk
Engedélyezzük az Apache2 mod_jk-t:
sudo a2enmod jk
Állítsuk be az /etc/libapache2-mod-jk/workers.properties fájlt:
workers.java_home=/home/pzoli/jdk1.7.0_05/jre worker.list=ajp13_worker,ajp14_worker,ajp15_worker # Liferay(Tomcat7) worker.ajp13_worker.port=8009 worker.ajp13_worker.host=pappzdev.integrity.hu worker.ajp13_worker.type=ajp13 #Glassfish worker.ajp14_worker.port=8109 worker.ajp14_worker.host=localhost worker.ajp14_worker.type=ajp13 #JBoss worker.ajp15_worker.port=8209 worker.ajp15_worker.host=localhost worker.ajp15_worker.type=ajp13 worker.ajp13_worker.lbfactor=1 worker.ajp14_worker.lbfactor=1 worker.loadbalancer.type=lb worker.loadbalancer.balance_workers=ajp13_worker
A fenti beállítás 3 AJP worker-t konfigurál, egy terhelés kiegyenlítővel kiegészítve.
Apache virtual server beállítása
Szerkesszük a virtuális szerver konfigurációját (pl.: /etc/apache2/sites-enabled/000-default)
<VirtualHost *:80> ServerAdmin webmaster@localhost DocumentRoot /var/www <Directory /> Options FollowSymLinks AllowOverride None </Directory> <Directory /var/www/> Options Indexes FollowSymLinks MultiViews AllowOverride None Order allow,deny allow from all </Directory> # 8009 Liferay(Tomcat7) JkMount /* ajp13_worker # 8109 Glassfish JkMount /kepeslap/* ajp14_worker # 8209 JBoss JkMount /kepeslap_jboss/* ajp15_worker JkUnMount /redmine/* ajp13_worker JkUnMount /kepeslap_jboss/resource/* ajp15_worker … </VirtualHost>
A ROOT alkalmazás egy Tomcat-en futó Liferay tartalomszolgáltató, ezt követően egy Glassfish szerveren futó képeslap projek, majd egy statikus tartalmat tároló könyvtár (JkUnMount) válik elérhetővé a /var/www/kepeslap_jboss/ könyvtárból, illetve egy Redmine projektkövető üzemel a weblapon.
Szerkesszük az /etc/apache2/mods-enabled/jk.conf fájlt
JkWorkersFile /etc/libapache2-mod-jk/workers.properties JkLogFile /var/log/apache2/mod_jk.log JkLogFile /var/log/apache2/mod_jk.log
Indítsuk újra az Apache httpd-t:
sudo service apache2 restart
- A hozzászóláshoz be kell jelentkezni