> Date: Tue, 15 May 2012 01:18:06 +0200
> From: a...@ice-sa.com
> To: users@tomcat.apache.org
> Subject: Re: Multiple tomcat Instances on Same Server and One Apache Instance
> 
> Apologies, I probably confused you too. See below.
> 
> Vickie Troy-McKoy wrote:
> ...
> 
> >>>>>>
> >>>>>> 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
> 
> That is probably not what you want (and the one contradicts the other).
> You should probably have instead :
> 
> # forward "/abc*" requests to Tomcat "instance1" only
> JkMount /abc instance1
> JkMount /abc* instance1
> 
> # forward "/xyz*" requests to Tomcat "instance2" only
> JkMount /xyz instance2
> JkMount /xyz* instance2
> 
> # forward "/tsa*" requests to either Tomcat, as selected by the balancer 
> worker
> JkMount /tsa balance1
> JkMount /tsa* balance1
> 
> Note: if you really want to forward everything to Tomcat, and it doesn't 
> matter which 
> Tomcat, and you want to let the balancer decide when to forward any request 
> to either 
> Tomcat-1 or Tomcat-2, then just use the single line :
> JkMount /* balance1
> 
> 
> 
> 
> > 
> >  In workers.properties, added the load balancer information; it reflects 
> > the following:
> >
> You seem to be missing :
> 
> workers.list=instance1,instance2,balance1
> 
> (as per Pid's earlier instructions, not as per my erroneous comment)
> 
> >  worker.balance1.type=lb
> >  worker.balance1.balance_workers=instance1, instance2  <-- mod_jk may not 
> > like the space after comma
> >  #
> >  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">
> >                                       
> 
> 
> ---------------------------------------------------------------------
 
Thanks again.  I'll try this tomorrow.  I just want to forward based on the 
port that the Tomcat instance is running on.  The 2 tomcat instances running on 
the same server is really the same application--but different versions.  And, I 
thought that I could use the existing Apache instance to forward requests to 
the new version of the app running on tomcat as well.  But, if I want (e.g. the 
tsademo app)  the tomcat instance running on port 8009; and tsademo is being 
forwarded to both ports--how can I be sure that I would get the tsademo running 
on port 8009 and not the one running on 7009?   I tried using the Virtual host 
in Apache; but, ran into issues with that.  Or, should I just go ahead and 
create an entirely new apache instance for the new tomcat instance?

Regards,



                                          

Reply via email to