If you want to connect Cocoon with Apache httpd in order to serve static/legacy content directly from Apache you have three possibilities ATM (apart from the obsolete Jserv):

a) mod_webapp
b) mod_jk
c) mod_jk2


(A) mod_webapp______________________________________________________________ ____

mod_webapp communicates via the new WARP protocol, using Tomcats WarpConnector. You can easily mount whole webapps/contexts.

+ easy setup

- not as stable as JK1.2
- poor differentiation concerning mounts
- no load balancing
- not suitable for Windows
- not suitable for Jetty

Sample: mounting cocoon as http://host.domain.tld/cocoon/

WebAppConnection warpConnection warp localhost:8008
WebAppDeploy cocoon warpConnection /cocoon/

Sample: mounting cocoon as http://host.domain.tld/

WebAppConnection warpConnection warp localhost:8008
WebAppDeploy cocoon warpConnection /

# Problem: now EVERYTHING is served by cocoon. No way to serve static/legacy content by Apache!

docs: http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/ connectors.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/webapp.html


(B) mod_jk__________________________________________________________________ ____

mod_jk communicates via ajp1.3 protocol using an Ajp13Connector

+ very stable
+ supports load balancing
+ works with Jetty

- long winded setup
- poor syntax in mount directives
- Maintenance of mounts needs changes to httpd.conf



mod_jk is configured by a configuration file named workers.properties:

### sample for workers.properties ###

workers.apache_log=/usr/local/apache2/logs/
workers.tomcat_home=/usr/jakarta/catalina
workers.java_home=/usr/java/current
ps=/
# Define 3 workers, 2 real ajp13 and one being a loadbalancing worker
worker.list=worker1 worker2
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=host1.domain.tld
worker.worker1.port=8009
worker.worker1.lbfactor=50
worker.worker1.cachesize=10
worker.worker1.cache_timeout=600
worker.worker1.socket_keepalive=1
worker.worker1.socket_timeout=300
# Set properties for worker2 (ajp13)
worker.worker2.type=ajp13
worker.worker2.host=host2.domain.tld
worker.worker2.port=8009
worker.worker2.lbfactor=50
worker.worker2.cachesize=10
worker.worker2.cache_timeout=600
worker.worker2.socket_keepalive=1
worker.worker2.socket_timeout=300
# Set properties for worker3 (lb) which use worker1 and worker2
worker.worker3.balanced_workers=worker1,worker2

#### end of sample ###

in you httpd.conf you put your mount directives like

# mounting only the index
JkMount / worker2
# further, for example for mounting all html files
JkMount /*.html worker2
# further, for example for mounting everything in dir
JkMount /dir/* worker2

Things that unfortunately *DON’T* work!

JkMount */dir/ worker2
JkMount **/dir/ worker2
JkMount /dir1/**/dir/ worker2
JkMount /dir1/*/dir/*/*.html worker2
JkMount /!(images|movies|audio)* worker2

docs: http://www.onjava.com/pub/a/onjava/2002/11/20/tomcat.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html


(c) mod_jk2_________________________________________________________________ ____

The very new JK2 communicates via ajp1.3/ajp1.4 using CoyoteConnector+JkCoyoteHandler.

+ supports load balancing
+ supports in-process
+ works with Jetty
+ supports fast unix-sockets
+ fine grained configuration
+ easy to maintain mounts (no need to edit httpd.conf)

- jk2 is not as stable as mod_jk (correct me if I am wrong, I did not try the latest versions)
- lack of documentation
- hard to build from cvs (IMO) - no binaries available AFAIK

mod_jk2 is configured by a configuration file named workers2.properties. There you define hosts, ports, workers, uri mapping etc:

### sample for workers2.properties monting cocoon as host.domain.tld/ ###

[shm]
file=/usr/jakarta/catalina/work/jk2.shm
size=1048576

# Example socket channel, override port and host.
[channel.socket:host.domain.tld:8009]
port=8009
host=127.0.0.1

# define the worker
[ajp13:ministrant.leonid:8009]
channel=channel.socket: host.domain.tld:8009

# Uri mapping
[uri:ministrant.leonid/*]
worker=ajp13: host.domain.tld:8009
context=/cocoon

#### end of sample ###

docs: http://www.pubbitch.org/jboss/mod_jk2.html
http://www.mortbay.com/jetty/doc/modjk.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/config/jk2.html
http://jakarta.apache.org/tomcat/tomcat-4.1-doc/jk2/index.html

________________________________________________________________________ ________

/Leo



---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faq/index.html>

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

Reply via email to