整合Apache+Tomcat 
Tomcat是Sun和Apache合作开发的JSP Server,支持Servlet 和JSP,Tomcat本身可以作为Web Server,当处理静态页面时,Tomcat不如Apache迅速,不象Apache一样可配置,强壮。Apache作为最流行的Web服务器功能强大,高效,但并不支持JSP及Servlet,所以通常的做法是把它们整合起来,让Apache处理静态页面,而把动态页面的请求交给Tomcat处理,发挥各自的优势. 通过在Apache中加载整合模块和进行设置,Apache就能够根据URL,把不属于自己的请求转给Tomcat。 
要让Apache和Tomcat联合工作,还必须有一个连接器把它们联系起来,Connector对于性能、配置的方便性有很重要的影响,目前大致上有JK1.x,JK2,mod_webapp三种connector可以使用。JK使用比较广泛,JK2是JK1.x的改进,比较新。这三种Connector的配置方法大相径庭,在参考别人的整合方法时一定要注意。 另外,Tomcat是用Java写的,所以你的系统必须有JDK或JRE。 我的OS是Solaris9,用到的版本分别是Apache 2.0.47;Tomcat 5.0.27;Jk2 2.0.4;J2sdk 1.4.2_05。 
现在开始: 
下载要用到的软件,Apache,Tomcat,Jk2在Apache的官方网站上都可以下的到 
http://www.apache.org/dist/httpd/ 
http://www.apache.org/dist/jakarta/tomcat-connectors/jk2/source/ 
http://www.apache.org/dist/jakarta/tomcat-5/ 
  
JDK 在Sun的网站上. http://www.sun.com  以下是我下载到的: httpd-2.0.47.tar.gz  jakarta-tomcat-5.0.27.tar.gz  jakarta-tomcat-connectors-jk2-src-current.tar.gz  j2sdk-1_4_2_05-solaris-sparc.tar.Z  (32bit的, 先安装这个再安装下面64bit的)  j2sdk-1_4_2_05-solaris-sparcv9.tar.Z(最后两个是Solaris的Package,对于其他的系统下可用,不过可以下载相应的版本.)  安装Apache  对于Apache的安装,有很多帖子都介绍过, 安装时注意一点:一定要有 --enable-so 加载so模块,这是整合要用到的.  gzip –d httpd-2.0.47.tar.gz  tar -xvf httpd-2.0.47.tar  cd httpd-2.0.47 ./configure – with-layout=Apache2 -prefix=/path to install directory -enable-so  make make install 好了,Apache的安装完成了.我的安装目录是/usr/local/apahce2.修改apache的http.conf  ServerName name OfYourServer  Group nogroup  进入/usr/local/apache2/bin 执行 ./apachectl start 启动apache (./apachectl stop 停止)  如果成功,通过浏览器就可以看到Apche的默认主页了 http://ServerIp  (httpd –l 可以列出已经加载的模块)  安装JDK  Java是SUN开发的,所以它在自家的OS上预装了java的运行环境.  java -version  可以看到java的版本号.Soaris9是1.4.1_01a  uncompress j2sdk-1_4_2_05-solaris-sparc.tar.Z  tar xvf j2sdk-1_4_2_05-solaris-sparc.tar  解压后得到几个SUNW开头的文件,把它们放到一个目录下  先要将以前的java包删除!  pkgrm SUNWj3dmo SUNWj3man SUNWj3dev SUNWj3rt  pkgrm SUNWlj3dv SUNWlj3rt  (如果有的话,pkginfo | grep SUNWj3 查看)  添加新包, pkgadd –d ./ (在刚才放解压的几个SUNW目录)  再安装64bit的包, 同样  uncompress j2sdk-1_4_2_05-solaris-sparcv9.tar.Z  tar xvf j2sdk-1_4_2_05-solaris-sparcv9.tar  pkgadd –d ./  好了,安装完了. java –version ,看版本号变了!  详细的说明,参考SUN网站上的文档!  安装Tomcat  在安装Tomcat之前,要设置两个环境变量:  JAVA_HOME =/usr/j2se  CLASSPATH =/usr/j2se/lib:/usr/j2se/jre/lib  (这是针对Solaris9的,Solaris8 /usr/java1.2; Solaris7 /usr/java1.1)  (其他的系统下,是你安装JDK的目录)  export JAVA_HOME CLASSPATH  有了,这两个变量,Tomcat才能安装.  jakarta-tomcat-5.0.27.tar.gz 是个二进制文件解压后解可用.  我把它解压到了,/usr/local/ src/jakarta-tomcat-5.0.27 建一个链接  ln –s /usr/local/ src/jakarta-tomcat-5.0.27 /usr/local/tomcat  这样以后升级就方便了,刚才的apache也应该这么做.  设置相应的变量:  CATALINA_HOME=/usr/local/tomcat  CATALINA_BASE=/usr/local/tomcat  export CATALINA_HOME CATALINA_BASE  进入/usr/local/tomcat/bin  ./startup.sh 启动tomcat  通过浏览器 http://SeverIP:8080 看到了一只猫!(5.0才有吧,4.X没看到)  port 8080 是Tomcat的默认端口  安装JK2  如果以上安装顺利的话,继续安装JK2吧  先解压到/usr/local/src下得到了, jakarta-tomcat-connectors-jk2-2.0.4-src  进入目录, cd jk/native2 ./buildconf.sh (我没成功,跳过了)  ./configure --with-apxs2=/usr/local/apache2/bin/apxs make make install (如果不成功,把mod_jk2.so拷贝到Apache得modules下)  cp jk/build/jk2/apache2/mod_jk2.so /usr/local/apache2/modules  还有一个jkjni.so,说是用来启动Apache 时自动启动Tomcat的,如果就也拷贝吧.我没有看到!  cp jk/build/jk2/apache2/jkjni.so /usr/local/apache2/modules  整合  步入正题了,整合涉及到了4个配置文件  Apache 的 httpd.conf 和 workers2.properties (创建)  Tomcat 的 server.xml 和 jk2.properties (不过这两个文件,我没改过也成功了)  httpd.conf  在Apache中添加mod_jk2.so模块:  LoadModule jk2_module modules/mod_jk2.so 
  workers2.properties:  这是我的workers2.properties  #Example socket channel, override port and host  [channel.socket:localhost:8009]  port=8009  host=127.0.0.1  #define the worker  [ajp13:localhost:8009]  channel=channel.socket:localhost:8009  #&Uri mapping  [uri:/jsp-examples/*]  worker=ajp13:localhost:8009  好了,重启Apache和Tomcat  http://ServerIp/jsp-examples 如果看到的效果和 http://ServerIp:8080/jsp-examples 一样就说明整合成功. 
   
 
  |