Apache To Tomcat Setup Steps
In below article we will discuss about the configurations required to connect apache to tomcat using mod_jk plugin.
mod_jk is a apache free library plugin to redirect the requests to tomcat connector port using mod-jk.conf and workers.properties. Please follow below steps to configure apache to tomcat communication.
1. Make sure mod_jk.so is available under modules directory of web server. If it is not there
download mod_jk-1.2.27-httpd-2.2.6.so and renamed as mod_jk.so
mv mod_jk-1.2.27-httpd-2.2.6.so mod_jk.so
Note: mod_jk-1.2.27-httpd-2.2.6.so is for Apache 2.2.6 and above
2. Create mod-jk.conf file under Apache conf directory
# 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 # Notes: # 1) Changed from +ForwardURICompat. # 2) For mod_rewrite compatibility, use +ForwardURIProxy (default since 1.2.24) # See http://tomcat.apache.org/security-jk.html JkOptions +ForwardKeySize +ForwardURICompatUnparsed -ForwardDirectories # JkRequestLogFormat JkRequestLogFormat "%w %V %T" # Mount your applications #JkMount /__application__/* loadbalancer JkMount /myApp/* loadbalancer # 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 # Note: Replaced JkShmFile logs/jk.shm due to SELinux issues. Refer to # https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=225452 JkShmFile run/jk.shm DMZ Web Server Configuration Guide # Add jkstatus for managing runtime data JkMount status Order deny,allow Deny from all Allow from 172.30.0.1
Note: 172.30.0.1 needs to changed with the actual App server IP
3. Create workers. properties file under apache conf directory
# Define list of workers that will be used # for mapping requests # The configuration directives are valid # for the mod_jk version 1.2.18 and later # worker.list=loadbalancer,status # modify the host as your host IP or DNS name. # Properties of worker1. worker.loadbalancer.port=9007 worker.loadbalancer.host=172.20.0.5 worker.loadbalancer.type=ajp13 worker.loadbalancer.lbfactor=1 worker.loadbalancer.cachesize=1 worker.loadbalancer.cache_timeout=0 worker.loadbalancer.socket_timeout=1800 worker.loadbalancer.socket_keepalive=false # Status worker for managing load balancer worker.status.type=status
Note: 172.30.0.1 needs to changed with the actual App server IP
9007 tomcat connector port needs to be changed with the actual port number
4. Save all and restart Apache.
In case of any ©Copyright or missing credits issue please check CopyRights page for faster resolutions.