Apache+Jetty整合

hwhanwan 2010-06-24

Jetty国内好像用的人并不多,资料很少。Apache和Jetty整合的更是没有,国外的有一些但大多写的不够清楚。

最近因为业务需要,需将apache jetty进行整合,研究了一天终于搞定,现将此分享。

安装包路径:/usr/local/src 

---安装jdk---

#chmod u+x jdk-6u11-linux-i586-rpm.bin

#./jdk-6u11-linux-i586-rpm.bin

添加环境变量:

#vi /etc/profile

添加:

exportJAVA_HOME=/usr/java/jdk1.6.0_11

exportCLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

exportPATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

---安装Jetty---

Jetty官方网站:http://www.mortbay.org/jetty/

最新版本是 6.1.14

#unzip jetty-6.1.14.zip

#mvjetty-6.1.14/usr/local/jetty

#/usr/local/jetty/bin/build_release_bundles.sh /usr/local/jetty

---启动Jetty---

Jetty可以用如下命令启动:

#cd/usr/local/jetty

#java-jarstart.jar

访问http://xxx.xxx.xxx.xxx:8080/就可以看到Jetty的测试页面

ps:也可以用jetty启动脚本(支持绝对路径)

#/usr/local/jetty/bin/jetty.shstart

---安装Apache---

Apache官方网站:http://httpd.apache.org/

最新版本是:httpd-2.2.11.tar.gz

#tarzxvfhttpd-2.2.11.tar.gz

#cdcdhttpd-2.2.11

<!--StartFragment-->#cdsrclib/apr

#./configure--prefix=/usr/local/apr--enable-threads--enable-other-child--enable-static

#make&&makeinstall

#cd../apr-util

#./configure--prefix=/usr/local/apr-util--with-apr=/usr/local/apr/--with-mysql=/usr/local/mysql

#make&&makeinstall

#cd../..

#./configure--prefix=/usr/loacl/apache--enable-modules=so--enable-so--enable-mods-shared=all--enable-cache--enable-file-cache--enable-mem-cache--enable-disk-cache--enable-static-support--enable-static-htpasswd--enable-static-htdigest--enable-static-rotatelogs--enable-static-logresolve--enable-static-htdbm--enable-static-ab--enable-static-checkgid--disable-cgid--disable-cgi--with-apr=/usr/local/apr/--with-apr-util=/usr/local/apr-util/--with-pcre

#make&&makeinstall

#cp/usr/local/apache2/bin/apachectl/etc/rc.d/init.d/httpd

---安装mod_jk---

下载地址:http://tomcat.apache.org/download-connectors.cgi

#tar zxvf tomcat-connectors-1.2.27-src.tar.gz

#cdtomcat-connectors-1.2.27-src

#cdnative

#./configure--with-apxs=/usr/local/apache/bin/apxs

#make && make install

--- 整合 Apache Jetty ---

修改Jetty配置文件:

路径:/usr/local/jetty/etc/jetty.xml

下载地址:http://repository.codehaus.org/org/mortbay/jetty/jetty-ajp/6.1.8/

添加如下内容:

<Callname="addConnector">

<Arg>

<Newclass="org.mortbay.jetty.ajp.Ajp13SocketConnector">

<Setname="host">127.0.0.1</Set>

<Setname="port">8009</Set>

</New>

</Arg>

 </Call>

或用如下方式启用jetty亦可:

#java-jarstart.jaretc/jetty.xmletc/jetty-ajp.xml&(必须在jetty目录下执行)

修改httpd.conf

添加如下内容:

<IfModule !mod_jk.c>

  LoadModule jk_module  modules/mod_jk.so

</IfModule>

<IfModule mod_jk.c>

  JkWorkersFile "conf/worker.properties"

  JkLogFile "logs/mod_jk.log"

  JkLogLevel info

  JkLogStampFormat "[%a %b %d %H:%M:%S %Y] "

  JkOptions +ForwardKeySize +ForwardURICompat

JkMount/*.jspjetty

</IfModule>

在httpd.conf同目录下创建worker.properties

其内容为:

worker.list=jetty

worker.jetty.port=8009

worker.jetty.host=127.0.0.1

worker.jetty.type=ajp13

worker.jetty.lbfactor=1

保存后,重新启动apache和jetty.

测试:

分别访问

http://xxx.xxx.xxx.xxx/

http://xxx.xxx.xxx.xxx/index.jsp

前者会显示apache默认页面:itwork

后者会显示jetty错误信息页面

至此ApacheJetty整合完毕..以后会一点一点介绍Jetty的配置文件

相关推荐