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]