Apache和jetty組合使用有三種方式:apache
一、 使用Apache mod_proxy和一個普通的Jetty HTTP鏈接器。負載均衡
二、 使用Apache mod_proxy_ajp和Jetty AJP鏈接器。性能
三、 使用Apache mod_jk和Jetty AJP鏈接器。spa
其中,Jetty推薦使用第一種。推薦理由以下:代理
一、 使用HTTP,Jetty的性能更好。文檔
二、 AJP協議文檔缺少,且許多版本是違規的。get
若是要使用AJP,mod_proxy_ajp優於mod_jk。之前,mod_jk的負載均衡能力使得你必須使用它,可是在Apache2.2,mod_proxy_balancer可用,勝於HTTP和AJP鏈接器。it
使用mod_proxy,其實是配置反向代理,它只是簡單的將請求訪問的URL轉發到jetty,若是要實現負載均衡,apache還須要加載mod_blancer。反向代理
一、 下載Apachemodule
http://de.apachehaus.com/downloads/,本例版本爲httpd-2.2.29-x64
二、 下載Jetty,版本爲jetty-8.1.14。
三、 配置Apache 的httpd.conf,在其中增長以下的modules
LoadModule proxy_module /modules/mod_proxy.so
LoadModule proxy_balancer_module /modules/mod_proxy_balancer.so
LoadModule proxy_http_module /modules/mod_proxy_http.so
LoadModule proxy_ajp_module /modules/mod_proxy_ajp.so
LoadModule jk_module /modules/mod_jk.so
在httpd.conf文件末尾增長反向代理配置,
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /za http://localhost:8080/
ProxyPass / http://localhost:8080/
Apache默認配置的是80端口,當訪問http://localhost或者http://localhost/za時,請求應轉發到jetty,就是http://localhost:8080。
配置完成後,啓動Apache,而後訪問http://localhost,訪問的是jetty頁面。
四、 負載均衡配置
若是要配置負載均衡,假設本機有兩個jetty實例,監聽端口分別是8080,8090。則簡單的負載均衡配置以下:
ProxyRequests Off
<Proxy *>
Order deny,allow
Allow from all
</Proxy>
ProxyPass /zk balancer://mycluster
ProxyPass /zk balancer://mycluster
<Proxy balancer://mycluster>
BalancerMember http://localhost:8109/aa
BalancerMember http://localhost:8108/aa
</Proxy>