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=jettyworker.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的配置文件