Download the software required
Apache Server :- httpd-2.2.21-win32-x86-no_ssl.msi
mod_jk :- tomcat-connectors-1.2.32-windows-i386-httpd-2.0.x.zip
Jboss Application Server :- jboss-as-distribution-6.0.0.Final.zip
unzip the mod_jk zip file and copy mod_jk.so and paste it under APACHE_HOME/modules/
Configure Apache to load mod_jk
1) Modify APACHE_HOME/conf/httpd.conf and add a single line at the end of the file
# Include mod_jk's specific configuration file
Include conf/mod-jk.conf
and modify these line in httpd.conf file
Listen localhost:80
ServerName localhost
2) Next, create a new file named APACHE_HOME/conf/mod-jk.conf:
# Load mod_jk module
# Specify the filename of the mod_jk lib
LoadModule jk_module modules/mod_jk.so
# Where to find workers.properties
JkWorkersFile conf/workers.properties
# Where to put jk logs
JkLogFile logs/mod_jk.log
# Set the jk log level [debug/error/info]
JkLogLevel info
# Select the log format
JkLogStampFormat "[%a %b %d %H:%M:%S %Y]"
# JkOptions indicates to send SSK KEY SIZE
JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories
# JkRequestLogFormat
JkRequestLogFormat "%w %V %T"
# Mount your applications
JkMount /helloworld/* loadbalancer
(Note :- here you have to give you war file name)
# You can use external file for mount points.
# It will be checked for updates each 60 seconds.
# The format of the file is: /url=worker
# /examples/*=loadbalancer
JkMountFile conf/uriworkermap.properties
# Add shared memory.
# This directive is present with 1.2.10 and
# later versions of mod_jk, and is needed for
# for load balancing to work properly
JkShmFile logs/jk.shm
# Add jkstatus for managing runtime data
JkMount status
Order deny,allow
Deny from all
Allow from 127.0.0.1
3) Create a uriworkermap.properties file in the APACHE_HOME/conf directory.
# Simple worker configuration file
# Mount the Servlet context to the ajp13 worker
/jmx-console=loadbalancer
/jmx-console/*=loadbalancer
/web-console=loadbalancer
/web-console/*=loadbalancer
/helloworld/*=loadbalancer
Configure worker nodes in mod_jk
4) Next, you need to configure mod_jk workers file conf/workers.properties
# Define list of workers that will be used
# for mapping requests
worker.list=loadbalancer,status
#worker.list=node1
# Define Node1
# modify the host as your host IP or DNS name.
worker.node1.port=8009
worker.node1.host=192.168.7.59
worker.node1.type=ajp13
worker.node1.lbfactor=1
worker.node1.cachesize=10
# Define Node2
# modify the host as your host IP or DNS name.
worker.node2.port=8009
worker.node2.host= 192.168.7.50
worker.node2.type=ajp13
worker.node2.lbfactor=1
worker.node2.cachesize=10
# Define Node3
# modify the host as your host IP or DNS name.
worker.node3.port=8009
worker.node3.host= 192.168.7.58
worker.node3.type=ajp13
worker.node3.lbfactor=1
worker.node3.cachesize=10
# Load-balancing behaviour
worker.loadbalancer.type=lb
worker.loadbalancer.balance_workers=node1,node2,node3
worker.loadbalancer.sticky_session=0
worker.list=loadbalancer
# Status worker for managing load balancer
worker.status.type=status
Configuring HTTP session state replication
1) Enabling session replication in your application
To enable replication of your web application sessions, you must tag the application as distributable in the web.xml descriptor(web.xml of your application war file).
Deploy the application in JBoss
Deploy the application war file in server\all\deploy
Start the Jboss different nodes
Then run the Jboss in different machines by using command
run.bat -b
Example
run.bat -b 192.168.7.59 -c all -D jboss.messaging.ServerPeerID=1 -D jboss.service.binding.set=ports-default
run.bat -b 192.168.7.50 -c all -D jboss.messaging.ServerPeerID=2 -D jboss.service.binding.set=ports-default
Run the application using the URL
http://localhost/helloworld/hi.jsp
No comments:
Post a Comment