Good morning again.
Tomcat supports having multiple <Service<Engine entries within the
Server.xml, and each one would need to be identifiable when a single
Apache/jk(2) setup is forwarding requests to the one Tomcat.
The [channel.socket:...] identifies where/how to get from mod_jk(2) to the
Tomcat machine (ie host/port), but the actual workers need to be able to
identify either:

- which <Service<Engine entry to aim at on a given machine OR
- mod_jk(2) needs to be able to tag which worker processed a request so that
the session goes back to the same worker.

> G'day,
>
> Ya.  You are right.  I think tomcatId is just something tomcat uses to
> internally to keep track of the workers.  It could be anything such as
>
> tomcatId=worker1:8009
>
> but you really define the host and the port in the [channel...] section as
> you mention.  You could have multiple workers pointed at the same host on
> the same port.  The only way to tell them appart is by the tomcatId.  (I
> think).
>
> There is a little bit of difference between the configs if you run tomcat
> and apache on the same box or if they are two seperate boxes.  I think
> that is the most confusing part/lack of docs.
The major difference is that [channel.socket:..] points port= to 'localhost'
(ie 'this machine') if Tomcat is on the same machine as mod_jk(2) or to an
actual ip or domain name name if Tomcat is running on another machine.

Some packet probing might resolve this.
For now,
Norm


> -e
>
> On Wed, 25 Jun 2003, NormW wrote:
>
> > Good morning Eric.
> > The setting format for 'config.file' at least confirms what a trowel
through
> > the source code turned up. Thanks.
> > The 'TomcatID' parameter is also alternately named 'route' in mod_jk2,
and
> > is, I think, used mostly in load-balance situations, where, at the
Tomcat
> > end, it is called 'jvmRoute' on the <Engine element.
> > The port and address are not 'normally' needed as mod_jk2 will also use
the
> > channel.socket name elements [channel.socket:<host>:<port>] for these
> > parameters... (which is not entirely kosher in my view). Hence the
clearest
> > method would be to include both the port= and host= parameters under the
> > [channel.socket:.....] section.
> > I _think_ this helps.
> > Norm
> >
> > ----- Original Message -----
> > From: "Eric J. Pinnell" <[EMAIL PROTECTED]>
> > To: "Tomcat Users List" <[EMAIL PROTECTED]>
> > Sent: Wednesday, June 25, 2003 9:52 AM
> > Subject: Re: Problems with mod_jk2
> >
> >
> > > Here is a simple config to get if off the ground for a TCP connection:
> > >
> > > After you have loaded mod_jk2.so in the modules directory of apache
add:
> > >
> > > LoadModule jk2_module modules/mod_jk2.so
> > > JkSet config.file /path/to/apache/conf/workers2.properties
> > >
> > > to your httpd.conf file.
> > >
> > > Then in /path/to/apache/conf/workers2.properties put:
> > >
> > > [shm]
> > > file=${serverRoot}/logs/shm.file
> > > size=1048576
> > >
> > > # Example socket channel, override port and host.
> > > [channel.socket:ip.number.goes.here:8009]
> > > port=8009
> > > host=ip.number.goes.here
> > >
> > > # define the worker
> > > [ajp13:ip.number.goes.here:8009]
> > > channel=channel.socket:ip.number.goes.here:8009
> > >
> > > # Uri mapping
> > > [uri:*.jsp]
> > > worker=ajp13:ip.number.goes.here:8009
> > >
> > > You can also use tomcatId instead of calling out the host and the
port.
> > >
> > > Then use the jk2.properties file that comes with tomcat.  This is the
one
> > > that has everything commented out.  You don't need it because apache
is
> > > doing the work.
> > >
> > > Use the default Connector entry in server.xml for the Coyote/JK2
> > > connector.
> > >
> > > This creates a simple single worker, non-loadbalanced connection.  You
can
> > > look at the example workers2.properties that comes with the connectors
> > > source and get an idea how to do loadbalancing.  But basically you
create
> > > loadbalancing workers and add workers to the load balancer group.  The
n
> > > you map the URI to the loadbalancer group and it uses the workers you
> > > defined in that have in that group to connect to Tomcat.
> > >
> > > At least that's what I have been working with.  Seems to work.
> > >
> > > -e
> > >
> > >
> > >
> > >
> > > On Tue, 24 Jun 2003, Nikola Milutinovic wrote:
> > >
> > > > Hi all.
> > > >
> > > > "mod_jk2" is bugging me properly. It is not working right now and it
> > never did. I could have made a number of mistakes, so if someone could
point
> > at them, I'd be grateful. This are the relevant files:
> > > >
> > > > jk2.properties
> > > > --------------
> > > > handler.list=request,container,channelSocket
> > > >
> > > > channelSocket.port=8009
> > > > channelSocket.address=192.168.61.16
> > > > --------------
> > > >
> > > > server.xml
> > > > ----------
> > > > [SNIP]
> > > >
> > > > <Service name="Tomcat-Apache-JK2">
> > > >     <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
> > > >     <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
> > port="8009" minProcessors="5"
> > > >        maxProcessors="75" enableLookups="true" redirectPort="8443"
> > acceptCount="10" debug="0"
> > > >        connectionTimeout="0" useURIValidationHack="false"
> > > >
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
> > > >
> > > >     <Engine name="ajp13" debug="0"/>
> > > >     <Host name="Kerberos-1.ev.co.yu"
appBase="/usr/users/test/webapp">
> > > >       <Context
> > docBase="/usr/local/java/jakarta-tomcat-4.1.24/webapps/tomcat-docs"
> > > >                path="/tomcat-docs" />
> > > >       <Context docBase="evracun" path="/evracun">
> > > >   </Host>
> > > > </Service>
> > > > ------------
> > > >
> > > > worker2.properties
> > > > --------------------
> > > > [logger]
> > > > level=DEBUG
> > > >
> > > > [config:]
> > > > file=${serverRoot}/conf/add-on/workers2.properties
> > > > debug=0
> > > > debugEnv=0
> > > >
> > > > [uriMap:]
> > > > info=Maps the requests. Options: debug
> > > > debug=0
> > > >
> > > > # Alternate file logger
> > > > [logger.file:0]
> > > > level=DEBUG
> > > > file=${serverRoot}/logs/jk2.log
> > > >
> > > > [shm:]
> > > > info=Scoreboard. Required for reconfiguration and status with
> > multiprocess servers
> > > > file=${serverRoot}/logs/jk2.shm
> > > > size=1000000
> > > > debug=0
> > > > disabled=0
> > > >
> > > > [workerEnv:]
> > > > info=Global server options
> > > > timing=1
> > > > debug=0
> > > > logger=logger.file:0
> > > >
> > > >
> > > > [channel.socket:Test.ev.co.yu:8009]
> > > > info=Ajp13 forwarding over socket
> > > > debug=0
> > > > host=Test.ev.co.yu
> > > > port=8009
> > > >
> > > > [ajp13:Test.ev.co.yu:8009]
> > > > channel=channel.socket:Test.ev.co.yu:8009
> > > >
> > > > [status:status]
> > > > info=Status worker, displays runtime information
> > > >
> > > > [uri:Kerberos-1.ev.co.yu/jkstatus]
> > > > info=Display status information and checks the config file for
changes.
> > > > group=status:status
> > > >
> > > > [uri:Kerberos-1.ev.co.yu/evracun-jk2/*]
> > > > info=EVracun application on Test.ev.co.yu
> > > > context=/evracun
> > > > group=ajp13:Test.ev.co.yu:8009
> > > > -------------------------
> > > >
> > > > apache_error.log
> > > > ------------------
> > > > [Tue Jun 24 14:22:20 2003] [notice] mod_jk.post_config() first
> > invocation
> > > > [Tue Jun 24 14:22:22 2003] [notice] LDAP: Built with OpenLDAP LDAP
SDK
> > > > [Tue Jun 24 14:22:22 2003] [notice] LDAP: SSL support unavailable
> > > > [Tue Jun 24 14:22:23 2003] [notice] Digest: generating secret for
digest
> > authentication ...
> > > > [Tue Jun 24 14:22:23 2003] [notice] Digest: done
> > > > [Tue Jun 24 14:22:24 2003] [notice] mod_jk.post_config() second
> > invocation
> > > > [Tue Jun 24 14:22:24 2003] [error] jk2_init() Can't find child 26827
in
> > scoreboard
> > > > [Tue Jun 24 14:22:24 2003] [error] jk2_init() Can't find child 26576
in
> > scoreboard
> > > > ------------------
> > > >
> > > > jk2.log
> > > > -------
> > > > [Tue Jun 24 14:22:19 2003] ( info ) [jk_logger_file.c (184)]
> > Initializing log file /usr/opt/Apache-2.0.46W/logs/jk2.log
> > > > [Tue Jun 24 14:22:22 2003] ( info ) [jk_logger_file.c (184)]
> > Initializing log file /usr/opt/Apache-2.0.46W/logs/jk2.log
> > > > [Tue Jun 24 14:22:24 2003] (error ) [jk_logger_file.c (172)]  Can't
open
> > log file /usr/opt/Apache-2.0.46W/logs/jk2.log
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (377)]
uriMap.init()
> > Fixing Host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > null context null host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /jkstatus context null host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /evracun-jk2/* context /evracun host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] ( info ) [jk_uriMap.c (490)]  uriMap:
> > creating context Kerberos-1.ev.co.yu/evracun
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > null context null host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > / context / host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > / context / host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /evracun context /evracun host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] ( info ) [jk_workerEnv.c (403)]
> > workerEnv.init() ok /usr/opt/Apache-2.0.46W/config/add-on/workers2.prop
> > > > erties
> > > > [Tue Jun 24 14:22:24 2003] (error ) [mod_jk2.c (557)]  mod_jk child
init
> > 1 -2
> > > > [Tue Jun 24 14:22:24 2003] (error ) [jk_logger_file.c (172)]  Can't
open
> > log file /usr/opt/Apache-2.0.46W/logs/jk2.log
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (377)]
uriMap.init()
> > Fixing Host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > null context null host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /jkstatus context null host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /evracun-jk2/* context /evracun host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] ( info ) [jk_uriMap.c (490)]  uriMap:
> > creating context Kerberos-1.ev.co.yu/evracun
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > null context null host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > / context / host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > / context / host *
> > > > [Tue Jun 24 14:22:24 2003] (debug ) [jk_uriMap.c (464)]  uriMap: fix
uri
> > /evracun context /evracun host Kerberos-1.ev.co.yu
> > > > [Tue Jun 24 14:22:24 2003] ( info ) [jk_workerEnv.c (403)]
> > workerEnv.init() ok /usr/opt/Apache-2.0.46W/config/add-on/workers2.prop
> > > > erties
> > > > [Tue Jun 24 14:22:24 2003] (error ) [mod_jk2.c (557)]  mod_jk child
init
> > 1 -2
> > > > ----------------
> > > >
> > > > Any idea?
> > > >
> > > > Nix.
> > > >
> > > >
> > >
> > > ---------------------------------------------------------------------
> > > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to