There are two ways of Clustering Liferay on Tomcat
1. Sticky Session
User request will always goes to same Liferay instance
2. Session Replication
User request can go to any tomcat in cluster and his session is copied on entire cluster
Lets get started for Sticky Session based clustering and load balancing.
Use-Case
Setting up two tomcat Liferay along with apache on same windows machine.
Pre-requirements
1. install Apche 2.x
2. download Liferay5.x and make an extra copy
Steps 1. open httpd.conf from apache_home/conf/ and add these lines at the end
<Proxy balancer://mycluster>
BalancerMember ajp://localhost:8009/ route=tomcatA smax=15 max=50 loadfactor=20
BalancerMember ajp://localhost:8010/ route=tomcatB smax=15 max=50 loadfactor=20
</Proxy>
<Location / >
ProxyPass balancer://mycluster/ stickysession=JSESSIONID
</Location>
<Location /balancer-manager>
SetHandler balancer-manager
Order Deny,Allow
Deny from all
Allow from localhost
</Location>
Step 2.
uncomment the following four lines on httpd.conf
LoadModule proxy_module modules/mod_proxy.so
LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
LoadModule status_module modules/mod_status.so
Step 3.
open liferay/tomcat_home_1/conf/server.xml and add jvmRoute="tomcatA" to the following line
Engine name="Catalina" defaultHost="localhost"
so it should look like this
Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatA"
Step 4.
open liferay/tomcat_home_2/conf/server.xml and add jvmRoute="tomcatB" to the following line
Engine name="Catalina" defaultHost="localhost"
so it should look like this
Engine name="Catalina" defaultHost="localhost" jvmRoute="tomcatB
also change the following port nos
Server port="8006" shutdown="SHUTDOWN"
Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8444"
Connector port="8010" protocol="AJP/1.3" redirectPort="8444"
Thats It!
start apache, tomcatA, tomcatB and
navigate to http://localhost/
also checkout balancer-manager
for more configuration and understanding checkout the following link
Comments
thanks for well documentated steps..
it;s a great help to us.
Appreciate if you can touch up on session replication instead of sticky session?