Apache+Jetty整合

版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
http://vincent-nan.blogbus.com/logs/33529295.html

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

添加:
export JAVA_HOME=/usr/java/jdk1.6.0_11
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$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
#mv jetty-6.1.14 /usr/local/jetty
#/usr/local/jetty/bin/build_release_bundles.sh /usr/local/jetty

---启动Jetty---

Jetty 可以用如下命令启动:
#cd /usr/local/jetty
#java -jar start.jar

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

ps:也可以用jetty启动脚本(支持绝对路径)
#/usr/local/jetty/bin/jetty.sh start

---安装Apache---

Apache官方网站:http://httpd.apache.org/
最新版本是: httpd-2.2.11.tar.gz

#tar zxvf  httpd-2.2.11.tar.gz
#cd cd httpd-2.2.11
#cd srclib/apr
#./configure --prefix=/usr/local/apr --enable-threads --enable-other-child --enable-static
# make && make install
# cd ../apr-util
#./configure --prefix=/usr/local/apr-util --with-apr=/usr/local/apr/ --with-mysql=/usr/local/mysql
# make && make install
#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 && make install
#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
#cd tomcat-connectors-1.2.27-src
#cd native
#./configure --with-apxs=/usr/local/apache/bin/apxs
#make && make install

--- 整合 Apache Jetty ---
修改Jetty配置文件:
路径:/usr/local/jetty/etc/jetty.xml

添加如下内容:
 <Call name="addConnector">
     <Arg>
        <New class="org.mortbay.jetty.ajp.Ajp13SocketConnector">
        <Set name="host">127.0.0.1</Set>  
        <Set name="port">8009</Set>     
        </New>                     
     </Arg>                             
 </Call>

或用如下方式启用jetty亦可:
#java -jar start.jar etc/jetty.xml etc/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 /*.jsp jetty
 
</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默认页面: it work
后者会显示jetty错误信息页面

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

最后感谢一下试验中给予帮助一阵风大哥和虎子
宣传下他们的blog:
虎子:http://hi.baidu.com/linux_life/
一阵风:http://chenwenming.cublog.cn

本文转载请注明出处

posted @ 2011-05-31 11:55  shitou  阅读(643)  评论(0编辑  收藏  举报