Jetty has moved!
Jetty is a project at the Eclipse Foundation.
Homepage:http://www.eclipse.org/jetty
Downloads: http://download.eclipse.org/jetty/
Documentation:http://www.eclipse.org/jetty/documentation/current/
About:http://www.eclipse.org/jetty/about.php
Jetty Powered:http://www.eclipse.org/jetty/powered/
Contact the core Jetty developers at www.webtide.com
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery
Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Apache mod_proxy, AJP13 mod_jk and mod_proxy_ajp

The apache web server is frequently used as a server in front of a servlet container.
While there are no real technical reasons to front Jetty with apache, sometimes this is needed
for software load balancing, or to fit with a corporate infrastructure, or simply to stick with a known deployment structure.

There are 3 main alternative for connection Apache to Jetty:

  1. Using apache mod_proxy and an normal Jetty HTTP connector.
  2. Using apache mod_proxy_ajp and the Jetty AJP connector.
  3. Using apache mod_jk and the Jetty AJP connector.

Using the HTTP Connectors is greatly preferred, as Jetty performs significantly better with HTTP and the AJP protocol is poorly documented and there are many version irregularities. If AJP is to be used, the then mod_proxy_ajp module is preferred over mod_jk. Previously, the load balancing capabilities of mod_jk meant that it had to be used (tolerated), but with apache 2.2, mod_proxy_balancer is available and load balance over HTTP and AJP connectors.

Configuring Apache HTTPD server with mod_jk

  • put mod_jk.so into your <apache-root>/modules/ directory
  • you can download mod_jk.so here http://www.opensourcecommunity.ph/apache/tomcat/tomcat-connectors/jk/binaries/
  • add the entry below in your httpd.conf apache configuration file located in <apache-root>/conf/ directory.




Where:

  • LoadModule jk_module modules/mod_jk.so tells your apache server to load the mod_jk libray and where it is located.
  • JkWorkersFile conf/worker.properties tells mod_jk where your worker.properties is located.
  • JkLogFile logs/mod_jk.log tells mod_jk where to write mod_jk related Logs.
  • After adding the mod_jk configuration you may add a VirtualHost Entry in the same file (httpd.conf) as long as its located below your mod_jk configuration entry:




  • Add a worker file worker.properties in your <apache-root>/conf/
  • add the entries below, and make sure to specify your ip-address or hostname in worker.jetty.host property entry to where your jetty application is runnning


    mod_jk Compatibilities

Apache

mod_jk

Win32

Linux(ubuntu)

Apache 1.3


No HTTPD Binary Available



mod_jk-1.2.14


Not yet tested


mod_jk-1.2.15


Not yet tested


mod_jk-1.2.18


Not yet tested


mod_jk-1.2.19


Not yet tested

Apache 2.0 (2.0.59)





mod_jk-1.2.14

(tick)



mod_jk-1.2.15

(tick)



mod_jk-1.2.18

(tick)



mod_jk-1.2.19

(tick)


Apache 2.2





mod_jk-1.2.14

No Binary Available



mod_jk-1.2.15

No Binary Available



mod_jk-1.2.18

(tick)



mod_jk-1.2.19

(tick)





 Configuring Apache HTTPD server with mod_proxy_ajp

  • mod_proxy, mod_proxy_ajp and mod_proxy_balancer are already bundled with apache 2.2 so no need to download any module binaries, you just need a little configuration 
  • add the entry below in your httpd.conf apache configuration file located in <apache-root>/conf/ directory.



Where:

  

  • LoadModule proxy_module modules/mod_proxy.so tells your apache server to load the mod_proxy libray and where it is located.
  • LoadModule proxy_ajp_module modules/mod_proxy_ajp.so tells your apache server to load the mod_proxy_ajp libray and where it is located.
  • LoadModule proxy_balancer_module modules/mod_proxy_balancer.so tells your apache server to load the mod_proxy_balancer libray and where it is located.
  • ProxyPreserveHost On - keeps the original Host Header.
  • ProxyPass - Maps the remote server Path to the Jetty Vertual Server Path, in our example we used a balancer.
  • Below is where you map your balancer cluster to one of your jetty server.


    mod_proxy_ajp Compatibilities

Apache

Win32

Linux(ubuntu)

Apache 1.3

no mod_proxy_ajp bundled

no mod_proxy_ajp bundled




Apache 2.0 (2.0.59)

no mod_proxy_ajp bundled

no mod_proxy_ajp bundled




Apache 2.2

(tick)

(tick)

Configure Jetty to Accept AJP Requests usisng AJP13SocketConnector

Using Jetty XML Configuration








Embedding Jetty in your application







  • No labels
Contact the core Jetty developers at www.webtide.com
private support for your internal/customer projects ... custom extensions and distributions ... versioned snapshots for indefinite support ... scalability guidance for your apps and Ajax/Comet projects ... development services from 1 day to full product delivery