Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Tomcat Wiki" for change 
notification.

The "Tomcat/Jk2Connector" page has been changed by KonstantinKolinko.
The comment on this change is: Removed all content of the page. The jk2 
connector is obsolete and should not be used. If anyone is interested, they can 
see the old version of the page in the history..
http://wiki.apache.org/tomcat/Tomcat/Jk2Connector?action=diff&rev1=8&rev2=9

--------------------------------------------------

+ This page is obsolete. All content was removed. See the 
[[http://tomcat.apache.org/connectors-doc/|Connectors documentation]] on the 
Tomcat site.
- == Using the JK2 Connector ==
- 
-  {X} JK2 is deprecated!
- 
- This is the start of a tutorial on using the JK2 Connector.  See also the 
[[TomcatFAQ/ModJK2OnRedHat]] Tomcat FAQ on building `mod_jk2` for Red Hat Linux.
- 
- See also HowToRedhat8JK2 for configuring Red Hat's Apache with a mod_jk2 
binary and Tomcat 4.1
- 
- === Quick Start for Linux ===
- 
- ''This is just a quick start for people currently struggling with mod_jk2 and 
multiple hosts.  It is a working configuration.  My real content for this page 
will come in another week or so.  But please feel free to collaborate on this 
page now!  :-) ''
- 
- This is working on Red Hat Linux.  I  use Unix Domain sockets because they 
eliminate the need to manage the list of IP ports.  [''One remaining task is to 
eliminate the need for the shutdown port.  The shutdown command can be sent via 
AJP13, but the code from {{{StopTomcat}}} (in Tomcat v3.3) needs to be ported 
to use the connector classes.'']
- 
- ==== Layout ====
- 
- See the file in the Tomcat distribution called `RUNNING.txt` for instructions 
on how to use `CATALINA_BASE` and `CATALINA_HOME`.
- 
- For each virtual host that will have its own JVM (shared JVM will be 
discussed later), setup a layout like:
- 
- {{{
-    site/${CATALINA_BASE}
-       conf/                                                                   
   
-       logs/                                                                   
   
-       ${Host.appBase}/ROOT/                                      
-       ${Host.appBase}/ROOT/web-inf/classes/      
-       ${Host.appBase}/ROOT/web-inf/lib/                  
-       temp/                                                                   
   
-       work/
- }}}
- 
- This is just a basic description for this example.  There are other options 
for placement of the site content.
- 
- ==== Starting and Stopping Tomcat ====
- 
- Starting:
- {{{
- su --login ''user'' --command="export CATALINA_BASE=''path''; export 
JAVA_HOME=/usr/local/java; export JAVA_OPT=-server; 
/usr/local/tomcat-4/bin/startup.sh" 
- }}}
- Stopping:
- {{{
- su --login ''user'' --command="export CATALINA_BASE=''path''; export 
JAVA_HOME=/usr/local/java; export JAVA_OPT=-server; 
/usr/local/tomcat-4/bin/shutdown.sh"
- }}}
- 
- I use a {{{Sys``VI``nit}}} script that manages this cleanly for many sites.  
The ''user'' should be in the same group as the apache web server process.
- 
- ==== Connector ====
- 
- {{{ <Connector className="org.apache.coyote.tomcat4.CoyoteConnector" } } } 
-                port="'''0'''" minProcessors="5" maxProcessors="75" 
-                enableLookups="true" redirectPort="8443" 
-                acceptCount="10" debug="0" connectionTimeout="0" 
-                  useURIValidationHack="false" 
-                
protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
- }}}
- 
- 
- Note that the port is set to zero.  We're using UNIX domain sockets in this 
example, and we don't want the connector to open a port.
- 
- ==== jk2.properties ====
- 
- {{{ handler.list=apr,channelUnix,request 
-  apr.NativeSo=/etc/httpd/modules/jkjni.so 
-  channelUnix.file=${jkHome}/work/jk2.socket }}}
- 
- ==== conf/worker.properties ====
- 
- {{{
-  ["logger"] 
-  level=DEBUG 
- 
-  [config:] 
-  file=${serverRoot}/conf/workers2.properties 
-  debug=0 
-  debugEnv=0 
- 
-  [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 
- 
-  [channel.un:''workerName''] 
-  info=AF_UNIX socket connecting to "host" 
-  file=/''catalina_base''/work/jk2.socket 
-  debug=0 }}}
- 
-  ''... repeat the above for each worker ...''
- 
- '''NOTE:''' You must make sure that the group owning the `work/` directory is 
the same as the ''Group'' directive in `httpd.conf`.  Run the following:
- 
- {{{
-  chgrp group work 
-  chmod g+s work
- }}}
- 
- If you have already tried Tomcat before doing this, then also execute the 
following:
- 
- {{{
-  chgrp group jk2.socket
- }}}
- 
- 
- ==== conf.d/jk2.conf ====
- 
- {{{
- LoadModule jk2_module modules/mod_jk2.so
- }}}
- 
- ==== httpd.conf ====
- 
- {{{
-  # This sends all resource requests to tomcat 
-  <VirtualHost ...> 
-  ServerName ''vhost'' 
-  DirectoryIndex index.jsp index.html 
-  JkSet uri:''vhost''/*.group ajp13:'' workerName '' 
- 
-  # Alternative mapping mechanisms 
-  # 1. Place this in workers2.properties 
-  # [uri:''vhost''/] 
-  # group=ajp13:''workerName'' 
-  # 
-  # 2. This is the same as above, but in httpd.conf 
-  # JkSet uri:''vhost''/*.group ajp13:''workerName'' 
-  # 
-  # 3. This does the same thing, but with mapping inside httpd 
-  #    NOTE: this is currently broken for virtual hosts 
-  #<Location "/*"> 
-  #   JkUriSet group ajp13:''workerName'' 
-  #</Location>
-  # 
-  # If you have a ServerAlias, methods #1 and #2 
-  # require entries for each alias. 
- 
-  </VirtualHost>
- 
-  # This sends only JSP page requests to tomcat 
-  <VirtualHost ...>
-  ServerName ''vhost'' 
-  DocumentRoot /''catalina_base''/webapps/ROOT/ 
-  DirectoryIndex index.jsp index.html 
-  JkSet uri:''vhost''/*.jsp.group ajp13:''workerName'' 
-  </VirtualHost>}}}
  
  ----
- ''This is only a start.  But hopefully it will help people already trying to 
get this working, and having problems.  For the Windows users, and others using 
TCP/IP ports or other transports, sorry.  TCP/IP ports will be in the next 
revision, or you can glean the workers2.properties and jk2.properties 
directives from the official JK2 documentation.''
+ CategoryObsolete
  
- 
- === Configuring Apache 2.0.47 with Tomcat 4.1.27 and mod_jk 2.0.42 ===
- 
- September 3rd 2003 - gturcios
- 
- During the last two weeks I was unable to find a good example for configuring 
Apache 2.0.47, Tomcat 4.1.27 and mod_jk-2.0.42.  After piecing together 
examples and ideas from multiple sources I was able to get these three 
components to work in a load balanced environment.  Each Apache and Tomcat 
lives on a separate server.
- 
- ==== Current Environment ====
- 
-  * 1 WSD (Load Balancer) 
-  * 3 Apache servers (front-end) 
-  * 3 Tomcat servers (back-end) 
- 
- The WSD DS Radware is set up with multiple farm addresses that point to the 
Apaches' primary and virtual interface IP addresses. 
- 
- Each Apache server is load balanced by the WSD using a weighted round-robin 
mechanism. 
- 
- Each Tomcat server is load balanced between the three Apache servers.
- 
- Here is an ASCII diagram (not a good diagram, but better than nothing!):
- {{{
-              WSD 
-              /|\
-             / | \
-   Apache1  Apache2  Apache3 
-     /|\      /|\      /|\ 
-    / | \    / | \    / | \ 
-   tomcat1  tomcat2  tomcat3
- }}}
- 
- ==== Building and Configuring Apache ====
- 
- {{{
- ./configure --prefix=/usr/local/apache2 --enable-so --enable-vhost-alias
- }}}
- 
- Copied `mod_jk2.so` to `/usr/local/apache2/modules`.
- 
- Add the following lines to `httpd.conf`:
- 
- {{{
- LoadModule jk2_module modules/mod_jk2.so
- 
- <IfModule mod_jk.c>
-    JkWorkersFile conf/workers2.properties 
- </IfModule>
- }}}
- 
- If you are using Apache 1.3, you might try this instead:
- 
- {{{
- JkSet config:file /usr/local/tomcat/conf/jk/workers2.properties
- }}}
- 
- More:
- 
- {{{
-  # Default DocumentRoot
-  # 
-  DocumentRoot "/usr/local/apache2/htdocs"
-  <location "/*.jsp"> 
-    JkUriSet group loadbalancer 
-  </location> 
-  <location "/servlet/*"> 
-    JkUriSet group loadbalancer 
-  </location> 
-  <location "/test/*"> 
-    JkUriSet group loadbalancer 
-  </location>
- }}}
- 
- ==== workers2.properties ====
- 
- {{{
-  # workers2.properties 
-  # 
-  # Tomcat shared memory component 
-  ["shm"] 
-  info=Scoreboard required for reconfiguration and status with multiprocess 
servers 
-  file=/usr/local/apache2/logs/jk2.shm 
-  size=1048576 
-  debug=0 
-  disabled=0 
- 
-  # Status worker 
-  [status:] 
-  info=Status worker, displays runtime informations 
- 
-  [uri:/jkstatus/*] 
-  info=Display status information and checks the config file for changes. 
-  group=status: 
- 
-  # Define Load Balancer worker 
-  [lb:loadbalancer] 
-  info=Default load balancer 
-  debug=0 
- 
-  # Define the loadbalancer group communication channel(s) 
-  [channel.socket:10.1.1.14:8009] 
-  port=8009 
-  host=10.1.1.14 
-  tomcatId=tomcat1 
-  group=loadbalancer 
- 
-  [channel.socket:10.1.1.15:8009] 
-  port=8009 
-  host=10.1.1.15 
-  tomcatId=tomcat2 
-  group=loadbalancer 
- 
-  [channel.socket:10.1.1.16:8009] 
-  port=8009 
-  host=10.1.1.16 
-  tomcatId=tomcat3 
-  group=loadbalancer }}}
- 
- ==== server.xml ====
- 
- Added `jvmRoute="<unique tomcat id>"` to the following line:
- 
- {{{
-  <!-- Define the top level container in our container hierarchy --> 
-  <Engine jvmRoute="tomcat1" name="Standalone" defaultHost="localhost" 
debug="0">
- }}}
- 
- This `jvmRoute` parameter uniquely identifies the Tomcat server to each 
Apache server and maintains a sticky session between the two during a user's 
session.
- 
- Hope this helps...
- 

---------------------------------------------------------------------
To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org
For additional commands, e-mail: dev-h...@tomcat.apache.org

Reply via email to