MOD_JK adalah modul konektor yang digunakan untuk menghubungkan Tomcat Servlet Container dengan web server seperti Apache, Netscape, iPlanet, SunOne bahkan IIS. MOD_JK menggunakan protokol Apache JServ Protocol (AJP) yang dapat melakukan request inbound dari web server ke application server yang ada dibelakang web server. AJP biasanya digunakan untuk deployment load balanced web server, dimana satu atau lebih web server dapat melakukan request ke satu atau lebih application server.
Langsung saja, pastikan apache dan library mod_jk buat apache sudah terinstall, karna TS menggunakan ubuntu, instalasi dapat langsung menggunakan apt :
$sudo apt-get install apache2
$sudo apt-get install libapache2-mod-jk
pada ubuntu, direktori instalasi akan otomatis berada pada /etc/apache2, buat file konfigurasi workers.properties pada direktori tersebut :
$sudo vi /etc/apache2/workers.properties
kemudian isikan file tersebut dengan konfigurasi worker untuk setiap koneksi dengan menggunakan protokol ajp versi 1.3 (lebih dikenal dengan istilah ajp13) :
ps=/
# worker.list=worker1 worker2
worker.list=worker1worker.worker1.port=7009
worker.worker1.host=localhost
worker.worker1.type=ajp13
worker.worker1.lbfactor=1
worker.worker1.cachesize=10# worker.worker2.port=8009
# worker.worker2.host=localhost
# worker.worker2.type=ajp13
# worker.worker2.lbfactor=2
# worker.worker1.cachesize=10
untuk menambahkan worker, tinggal dihapus saja beberapa line yang di comment (“#”) kemudian configure seperti pada worker1, untuk konfigurasi yang lain, lebih lengkapnya dapat dilihat disini.
pada konfigurasi diatas, TS membuka port 7009 pada localhost untuk digunakan oleh protokol ajp13, konfigurasi mengenai ini terdapat pada file server.xml pada direktori conf pada tomcat, kemudian tambahkan line berikut :
<Connector port=”7009″ protocol=”AJP/1.3″ redirectPort=”8443″ />
setelah itu pada file mods-available/jk.load
$sudo vi /etc/apache2/mods-available/jk.load
tambahkan konfigurasi lokasi dimana file workers.properties dibuat dan beberapa konfigurasi lain jika dibutuhkan :
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
JkWorkersFile /etc/apache2/workers.properties
JkLogFile /var/log/apache2/mod_jk.log
JkLogLevel info
JkLogStampFormat “[%a %b %d %H:%M:%S %Y] “
kemudian pada file sites-available/default :
$sudo vi /etc/apache2/sites-available/default
lakukan konfigurasi seperti contoh berikut :
JkMount /production* worker1
# JkMount /training* worker2# NameVirtualHost *:80
<VirtualHost *:80>
JkMount /production* worker1
RedirectMatch ^/$ /production/app
# JkMount /training* worker2
# RedirectMatch ^/training$ /training/app
</VirtualHost>
setelah semua langkah diatas, kemudian restart apache :
$sudo /etc/init.d/apache2 restart
jika sudah tidak ada error, jalankan tomcat, yang tentunya sudah dengan konfigurasi port 7009 untuk protokol ajp13, setelah itu silakan dicek menggunakan browser andalan anda..
pada contoh diatas TS melakukan redirect ke /production/app jika si pe-request tidak memasukkan full url pada browser, dimana /production adalah context path dari application servernya dan /app adalah url-pattern dari servlet-mappingnya, dengan cara demikian kita bisa saja memasukkan lebih banyak worker yang kemudian bisa diakses dengan memainkan context path dari masing-masing application server.
good luck..
