> Date: Mon, 14 May 2012 10:37:07 +0200
> From: [email protected]
> To: [email protected]
> Subject: Re: Multiple tomcat Instances on Same Server and One Apache Instance
>
> Pid * wrote:
> > On 13 May 2012, at 20:33, "André Warnier" <[email protected]> wrote:
> >
> >> Pid wrote:
> >>> On 11/05/2012 18:53, Vickie Troy-McKoy wrote:
> >>>> Hi, I am in need of a little help.
> >>>> I have 2 tomcat instances running on the same machine and one apache
> >>>> instance running on a different machine. I configured jk_mod to access
> >>>> the 1st tomcat instance. Now, I have a second tomcat instance running
> >>>> on the same server as the 1st instance. I would like to access both
> >>>> tomcat instances via the one apache webserver instance. Because some
> >>>> requests are referenced by the same name, there is a conflict.
> >>>> On the tomcat server in server.xml, one instance is running on port 8009
> >>>> and the 2nd instance (in another directory structure) is running on 7009.
> >>>>
> >>>> On the apache server in httpd.conf, I have the following:
> >>>>
> >>>> Listen 80
> >>>> .
> >>>> .
> >>>> .
> >>>> LoadModule jk_module modules/mod_jk.so
> >>>>
> >>>> #
> >>>> JkWorkersFile conf/workers.properties
> >>>> JkMount /abc* instance1
> >>>> JkMount /xyz* instance2
> >>>>
> >>>> In workers.properties, I have the following:
> >>>>
> >>>> worker.list=instance1, instance2
> >>>> #
> >>>> worker.instance1.port=8009
> >>>> worker.instance1.host=server.xxxx.com
> >>>> worker.instance1.type=ajp13
> >>>> worker.instance1.lbfactor=1
> >>>> worker.instance1.socket_keepalive=1
> >>>> #
> >>>> worker.instance2.port=7009
> >>>> worker.instance2.host=server.xxxx.com
> >>>> worker.instance2.type=ajp13
> >>>> worker.instance2.lbfactor=1
> >>>> worker.instance2.socket_keepalive=1
> >>>>
> >>>> When I call abc*, it goes to instance1; and when I call xyz*, it goes to
> >>>> instance2. However, both instances have apps that start with "tsa".
> >>>> How do I configure the apache webserver to service the "tsa" app for
> >>>> both tomcat instances?
> >>> configure a load balancer (worker) that uses the (other) two workers, in
> >>> addition to the
> >>> two workers, and add it to the worker list.
> >> I think that rather than be added to the workers list, the load-balancer
> >> worker must be the only one in the list. You then tell the balancer to
> >> balance the two other workers.
> >
> > Then the two individual apps won't work, as they're not present on both
> > servers.
>
> Oh. I did not read the OP's requirements carefully enough. Apologies, your
> instructions
> were correct for the OP.
---------------------------------------------------
Thank you all for your suggestions. I tried configuring a load balancer
worker; however, I'm getting HTTP 500 messages--Internal Server Error. I
reviewed the reference page; however, apparently, I'm missing something. Also
in the mod_jk.log, there's an error stating: "Could not find worker with name
'instance2' in uri map post processing". Any ideas? Thank you...
On the apache server in httpd.conf, I changed the JKMount statements because I
wanted to access all content.
Listen 80
.
.
.
LoadModule jk_module modules/mod_jk.so
#
JkWorkersFile conf/workers.properties
JkMount /* instance1
JkMount /* instance2
In workers.properties, added the load balancer information; it reflects the
following:
worker.balance1.type=lb
worker.balance1.balance_workers=instance1, instance2
#
worker.instance1.port=8009
worker.instance1.host=server.xxxx.com
worker.instance1.type=ajp13
#
worker.instance2.port=7009
worker.instance2.host=server.xxxx.com
worker.instance2.type=ajp13
On the tomcat server (which is the same server), I added the jvmRoute setting
in server.xml. For instance one, I added:
<Engine name="Catalina" defaultHost="localhost" jvmRoute="instance1">
For instance two, I added: <Engine name="Catalina" defaultHost="localhost"
jvmRoute="instance2">