Search This Blog

Monday 22 August 2011

Connecting Tomcat 7.0.25 with Apache 2 (mod_jk)


Connecting Tomcat 7 with Apache2 (mod_jk)
1. Install Connector
sudo apt-get install libapache2-mod-jk

Create a file worker.properties in Tomcat directory / usr/share/tomcat7/conf/workers.properties :

sudo nano / usr/share/tomcat7/conf/workers.properties   

And add the following lines:
# workers.properties
# --------------------------------------------------------------------------
# File:        workers.properties
#

# Purpose:     AJP Bridge for Apache/Tomcat
#
# Location:    $TOMCAT_HOME/conf
#
# Certified:   Ubuntu 11.04 / Apache 2.2.17/ Tomcat 7.0 / JDK-1.7.0
#
# Note:        This file should be appended or included into jk.load
# --------------------------------------------------------------------------
#
# This file provides jk derived plugins with the needed information to
# connect to the different tomcat workers.  Note that the distributed
# version of this file requires modification before it is usable by a
# plugin.
#
# As a general note, the characters $( and ) are used internally to define
# macros. Do not use them in your own configuration!!!
#
# Whenever you see a set of lines such as:
# x=value
# y=$(x)\something
#
# the final value for y will be value\something
#
# Normaly all you will need to do is un-comment and modify the first three
# properties, i.e. workers.tomcat_home, workers.java_home and ps.
# Most of the configuration is derived from these.
#
# When you are done updating workers.tomcat_home, workers.java_home and ps
# you should have 3 workers configured:
#
# - An ajp13 worker that connects to localhost:8009
# - A jni inprocess worker.
# - A load balancer worker
#
# However by default the plugins will only use the ajp13 worker. To have
# the plugins use other workers you should modify the worker.list property.
#
# OPTIONS ( very important for jni mode )
#
# workers.tomcat_home should point to the location where you
# installed tomcat. This is where you have your conf, webapps and lib
# directories.
#
workers.tomcat_home=$CATALINA_HOME
#
# workers.java_home should point to your Java installation. Normally
# you should have a bin and lib directories beneath it.
#
workers.java_home=$JAVA_HOME
#
# You should configure your environment slash... ps=\ on NT and / on UNIX
# and maybe something different elsewhere.
#
ps=/
#
#------ ADVANCED MODE ------------------------------------------------
#---------------------------------------------------------------------
#
#------ DEFAULT worket list ------------------------------------------
#---------------------------------------------------------------------
#
# The workers that your plugins should create and work with
#
worker.list=worker1,worker2,worker3
#
#
#------ DEFAULT WORKER DEFINITION ------------------------------------
#---------------------------------------------------------------------
#
# Defining a worker named worker1 and of type ajp13
# Note that the name and the type do not have to match.
#
worker.worker1.port=8009
worker.worker1.host=localhost
worker.worker1.type=ajp13
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
#  ----> lbfactor must be > 0
#  ----> Low lbfactor means less work done by the worker.
worker.worker1.lbfactor=1
#
# Specify the size of the open connection cache.
#worker.worker1.cachesize
#
#------ OTHER WORKERS DEFINITION ------------------------------------
#---------------------------------------------------------------------
#
worker.worker2.port=8109
worker.worker2.host=localhost
worker.worker2.type=ajp13
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
#  ----> lbfactor must be > 0
#  ----> Low lbfactor means less work done by the worker.
worker.workerworker2.lbfactor=1
#
# Specify the size of the open connection cache.
#worker.workerworker2.cachesize
#
worker.worker3.port=8209
worker.worker3.host=localhost
worker.worker3.type=ajp13
#
# Specifies the load balance factor when used with
# a load balancing worker.
# Note:
#  ----> lbfactor must be > 0
#  ----> Low lbfactor means less work done by the worker.
worker.workerworker3.lbfactor=1
#
# Specify the size of the open connection cache.
#worker.workerworker3.cachesize
#
#------ DEFAULT LOAD BALANCER WORKER DEFINITION ----------------------
#---------------------------------------------------------------------
#
# The loadbalancer (type lb) workers perform wighted round-robin
# load balancing with sticky sessions.
# Note:
#  ----> If a worker dies, the load balancer will check its state
#        once in a while. Until then all work is redirected to peer
#        workers.
worker.loadbalancer.type=lb
worker.loadbalancer.balanced_workers=worker1, worker2, worker3
#
#------ DEFAULT JNI WORKER DEFINITION---------------------------------
#---------------------------------------------------------------------
#
# Defining a worker named inprocess and of type jni
# Note that the name and the type do not have to match.
#
worker.inprocess.type=jni
#
#------ CLASSPATH DEFINITION -----------------------------------------
#---------------------------------------------------------------------
#
# Additional class path components.
#
#worker.inprocess.class_path=$(workers.tomcat_home)$(ps)lib$(ps)tomcat.jar
#
# Setting the command line for tomcat.
# Note: The cmd_line string may not contain spaces.
#
#worker.inprocess.cmd_line=start
#
# Not needed, but can be customized.
# worker.inprocess.cmd_line=-config
# worker.inprocess.cmd_line=$(workers.tomcat_home)$(ps)conf$(ps)server.xml
# worker.inprocess.cmd_line=-home
# worker.inprocess.cmd_line=$(workers.tomcat_home)
#
# The JVM that we are about to use
#
# This is for Java2
#
# Windows
# worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)jvm.dll
# IBM JDK1.3
# worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)bin$(ps)classic$(ps)libjvm.so
# Unix - Sun VM or blackdown
worker.inprocess.jvm_lib=$(workers.java_home)$(ps)jre$(ps)lib$(ps)i386$(ps)classic$(ps)libjvm.so
#
# And this is for jdk1.7.X
#
# worker.inprocess.jvm_lib=$(workers.java_home)$(ps)bin$(ps)javai.dll
#
# Setting the place for the stdout and stderr of tomcat
#
#worker.inprocess.stdout=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stdout
#worker.inprocess.stderr=$(workers.tomcat_home)$(ps)logs$(ps)inprocess.stderr
#
# Setting the tomcat.home Java property
#
# worker.inprocess.sysprops=tomcat.home=$(workers.tomcat_home)
#
# Java system properties
#
# worker.inprocess.sysprops=java.compiler=NONE
# worker.inprocess.sysprops=myprop=mypropvalue
#
# Additional path components.
#
# worker.inprocess.ld_path=d:$(ps)SQLLIB$(ps)bin




2. Configuring JK to connect jk.load to workers.properties


Open /etc/apache2/modes-available/jk.load and append the following: 

# jk.load
# --------------------------------------------------------------------------
# File:        jk.load
#
# Purpose:     Configuration file for Apache/Tomcat
#
# Location:    /Apache2/mods-available/
#
# Certified:   Ubuntu 11.04 / Apache 2.2.17/ Tomcat 7.0 / JDK-1.7.0
#
# Note:        This file should be appended into jk.load module
# --------------------------------------------------------------------------
#
# Configure the jk module
## Update this path to match your conf directory location 
#
JkWorkersFile / usr/share/tomcat7/conf/workers.properties #
# Update this path to match your logs directory location (put mod_jk.log next to access_log)
JkLogFile     /var/log/apache2/mod_jk.log#
# Update this path to match your local state directory or logs directory
JkShmFile     /var/log/apache2/mod_jk.shm 
#
# Log Level: May be debug, info, error, or emerg.
# If not set, defaults to no log
#
JkLogLevel error#
# Select the timestamp log format
JkLogStampFormat "[%a %b %d  %H:%M:%S  %Y] "
#
# Root context mounts for Tomcat
#
#JkMount /*.jsp ajp13
#JkMount /servlet/* ajp13
#
# Examples delivered with Tomcat, mapped in server.xml
# Use this only for Development and Testing
#
# AutoAlias /examples "/usr/local/tomcat/webapps/examples"
# JkMount /examples/servlet/* ajp13
# JkMount /examples/*.jsp ajp13
3. Disable the default configuration file for apache with: 
 
sudo a2dissite default
 
4. If there is an error: Apache2: Could not determine the server's fully qualified domain name, using 127.0.0.1 for ServerName then:

echo "ServerName localhost" | sudo tee /etc/apache2/conf.d/fqdn

Useful Links:
http://tomcat.apache.org/connectors-doc/reference/apache.html



1 comment:

  1. Bet365 Casino - Mapyro
    Bet365 Casino. 창원 출장마사지 Find the best live dealer 서울특별 출장샵 games, including roulette, 부산광역 출장마사지 blackjack and live dealer tables. Check your luck in 김해 출장안마 the game 영천 출장마사지 today.

    ReplyDelete