Hi, I've coupled Apache2 myself with Tomcat6 on an ubuntu system. To manage to do this, the following guide was quite useful - maybe you can have a look at it. > http://ubuntuforums.org/showthread.php?t=219985
Stijn Vanhoorelbeke, 2011/3/3 John C <jac_legend_...@hotmail.com> > > I am trying to connect Tomcat 7.0 and Apache Server 2.2 using Windows 7.0. > I created a .jsp file to test if my setup was correct under "C:\Program > Files (x86)\Apache Software Foundation\Tomcat > 7.0\webapps\sitepoint\count.jsp". I can successfully load the count.jsp file > by entering http://localhost:8080/sitepoint/count.jsp into Google Chrome, > however when I enter http://localhost/sitepoint/count.jsp into Chrome I > get an "Opps! This link appears to be broken." message. Therefore it appears > to be an error in my configurations. Unfortunately I'm puzzled as to the > problem and have been trying to look for a solution for the past 2 days > without any luck. Here are the details: > Platform: Windows 7.0Tomcat: 7.0Apache Server: 2.2JDK: C:\Program Files > (x86)\Java\jdk1.6.0_17Tomcat: C:\Program Files (x86)\Apache Software > Foundation\Tomcat 7.0Apache: C:\Program Files (x86)\Apache Software > Foundation\Apache2.2 > This is the process I went through.1. Installed Apache Server and Tomcat2. > Downloaded the Apache Connector binaries: mod_jk-1.2.31-httpd-2.2.3.so. > Renamed this to mod_jk.so and put it in the modules directory of > Apache2.2.3. Downloaded the source files for the same connector and > extracted the workers.properties file and placed that into the conf > directory of Apache2.2. I left this file unchanged, not sure if I am meant > to alter it.4. I then altered the httpd.conf configurations file inside the > conf directory of Apache2.2 and added the following lines (not sure if > /easywayserver/ should be used for my example I described earlier) : > LoadModule jk_module modules/mod_jk.so > > JkWorkersFile conf/workers.properties > > JkLogFile "logs/mod_jk.log" > > JkLogLevel error > > JkMount /easywayserver loadbalancer > > JkMount /easywayserver/* loadbalancer > 5. Restarted Apache server. > Here is a snipper of my log modjk.log > [Fri Mar 04 > 02:19:51.436 2011] [2276:6344] [info] jk_handler::mod_jk.c (2635): Could > not > find a worker for worker name=loadbalancer > > [Fri Mar 04 > 02:19:55.658 2011] [2368:3752] [info] init_jk::mod_jk.c (3198): > mod_jk/1.2.31 > (1026297) initialized > > [Fri Mar 04 > 02:19:55.658 2011] [2368:3752] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > > [Fri Mar 04 > 02:19:55.658 2011] [2368:3752] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > > [Fri Mar 04 > 02:19:55.737 2011] [5964:6660] [info] init_jk::mod_jk.c (3198): > mod_jk/1.2.31 > (1026297) initialized > > [Fri Mar 04 > 02:19:55.737 2011] [5964:6660] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > > [Fri Mar 04 > 02:19:55.737 2011] [5964:6660] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > > [Fri Mar 04 > 02:19:55.782 2011] [5964:6660] [info] init_jk::mod_jk.c (3198): > mod_jk/1.2.31 > (1026297) initialized > > [Fri Mar 04 > 02:19:55.782 2011] [5964:6660] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > > [Fri Mar 04 > 02:19:55.782 2011] [5964:6660] [error] > uri_worker_map_ext::jk_uri_worker_map.c > (506): Could not find worker with name 'loadbalancer' in uri map post > processing. > Here is the workers.properties file > ===Start of workers.properties========================== > # Licensed to the Apache Software Foundation (ASF) under one or more# > contributor license agreements. See the NOTICE file distributed with# this > work for additional information regarding copyright ownership.# The ASF > licenses this file to You under the Apache License, Version 2.0# (the > "License"); you may not use this file except in compliance with# the > License. You may obtain a copy of the License at## > http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable > law or agreed to in writing, software# distributed under the License is > distributed on an "AS IS" BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY > KIND, either express or implied.# See the License for the specific language > governing permissions and# limitations under the License. > # Note that the distributed version of this file requires modification# > before it is usable.## Reference documentation: > http://tomcat.apache.org/connectors-doc/reference/workers.html## 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 > # Define two status worker:# - jk-status for read-only use# - jk-manager > for read/write > useworker.list=jk-statusworker.jk-status.type=statusworker.jk-status.read_only=true > worker.list=jk-managerworker.jk-manager.type=status > # We define a load balancer worker# with name > "balancer"worker.list=balancerworker.balancer.type=lb# > error_escalation_time: seconds, default = recover_time/2 (=30)# Determines, > how fast a detected error should switch from# local error state to global > error state# Since: 1.2.28worker.balancer.error_escalation_time=0 > # - max_reply_timeouts: number, default=0# If there are to many reply > timeouts, a worker# is put into the error state, i.e. it will become# > unavailable for all sessions residing on the respective# Tomcat. The > number of tolerated reply timeouts is# configured with max_reply_timeouts. > The number of# timeouts occuring is divided by 2 once a minute and the# > resulting counter is compared against max_reply_timeouts.# If you set > max_reply_timeouts to N and the errors are# occuring equally distributed > over time, you will# tolerate N/2 errors per minute. If they occur in a > burst# you will tolerate N errors.# Since: > 1.2.24worker.balancer.max_reply_timeouts=10 > > > # Now we add members to the load balancer# First member is "node1", most# > attributes are inherited from the# template > "worker.template".worker.balancer.balance_workers=node1worker.node1.reference=worker.templateworker.node1.host=localhostworker.node1.port=8109# > Activation allows to configure# whether this node should actually be used# > A: active (use node fully)# D: disabled (only use, if sticky session needs > this node)# S: stopped (do not use)# Since: > 1.2.19worker.node1.activation=A > # Second member is "node2", most# attributes are inherited from the# > template > "worker.template".worker.balancer.balance_workers=node2worker.node2.reference=worker.templateworker.node2.host=localhostworker.node2.port=8209# > Activation allows to configure# whether this node should actually be used# > A: active (use node fully)# D: disabled (only use, if sticky session needs > this node)# S: stopped (do not use)# Since: > 1.2.19worker.node2.activation=A > # Finally we put the parameters# which should apply to all our ajp13# > workers into the referenced template# - Type is > ajp13worker.template.type=ajp13 > # - socket_connect_timeout: milliseconds, default=0# Since: > 1.2.27worker.template.socket_connect_timeout=5000 > # - socket_keepalive: boolean, default=false# Should we send TCP > keepalive packets# when connection is idle (socket > option)?worker.template.socket_keepalive=true > # - ping_mode: Character, default=none# When should we use cping/cpong > connection probing?# C = directly after establishing a new connection# P > = directly before sending each request# I = in regular intervals for idle > connections# using the watchdog thread# A = all of the above# > Since: 1.2.27worker.template.ping_mode=A > # - ping_timeout: milliseconds, default=10000# Wait timeout for cpong > after cping# Can be overwritten for modes C and P# Using connect_timeout > and prepost_timeout.# Since: 1.2.27worker.template.ping_timeout=10000 > # - connection_pool_minsize: number, default=connection_pool_size# Lower > pool size when shrinking pool due# to idle connections# We want all > connections to be closed when# idle for a long time in order to prevent# > firewall problems.# Since: 1.2.16worker.template.connection_pool_minsize=0 > # - connection_pool_timeout: seconds, default=0# Idle time, before a > connection is eligible# for being closed (pool shrinking).# This should > be the same value as connectionTimeout# in the Tomcat AJP connector, but > there it is# milliseconds, here > seconds.worker.template.connection_pool_timeout=600 > # - reply_timeout: milliseconds, default=0# Any pause longer than this > timeout during waiting# for a part of the reply will abort handling the > request# in mod_jk. The request will proceed running in# Tomcat, but the > web server resources will be freed# and an error is send to the client.# > For individual requests, the timeout can be overwritten# by the Apache > environment variable JK_REPLY_TIMEOUT.# JK_REPLY_TIMEOUT since: > 1.2.27worker.template.reply_timeout=300000 > # - recovery_options: number, default=0# Bit mask to configure, if a > request, which was send# to a backend successfully, should be retried on > another backend# in case there's a problem with the response.# Value "3" > disables retries, whenever a part of the request was# successfully send to > the backend.worker.template.recovery_options=3 > ===End of workers.properties=========================== > >