设为首页收藏本站

就爱编程论坛

 找回密码
 注册

人人连接登陆

无需注册,直接登录

用新浪微博连接

一步搞定

QQ登录

只需一步,快速开始

查看: 395|回复: 0
打印 上一主题 下一主题

整合Apache+Tomcat [复制链接]

Rank: 9Rank: 9Rank: 9

  • TA的每日心情
    无聊
    2025-5-27 03:37:20
  • 签到天数: 366 天

    [LV.9]以坛为家II

    论坛先锋 学习至圣 荣誉成员 论坛元老 活跃之星 终极领袖

    我玩的应用:

    跳转到指定楼层
    楼主
    发表于 2011-4-17 01:33:37 |只看该作者 |倒序浏览
    写在前面:
         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
    现在开始:
         好了,先去下载要用到了软件,它们都是for free的.
         Apache ,Tomcat ,Jk2在Apache的官方网站上都可以下的到.  http://www.apache.org
         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]  
                       port=8009  
                       host=127.0.0.1
                #&define&the&worker
                  [ajp13]  
                    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 一样就说明整合成功.
    分享到: QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
    分享分享0 收藏收藏0 支持支持0 反对反对0 分享到人人 转发到微博
    [img=http://mail.qq.com/cgi-bin/qm_share?t=qm_mailme&email=fRUcHhYWGAQ9GxIFEBwUEVMeEhA]http://rescdn.qqmail.com/zh_CN/htmledition/images/function/qm_open/ico_mailme_02.png[/img]

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册 人人连接登陆

    晴云孤魂's Blog|就爱编程搜帖|手机版|Archiver|就爱编程论坛     

    GMT+8, 2025-7-2 02:02 , Processed in 0.092683 second(s), 27 queries .

    Powered by Discuz! X2

    © 2001-2011 Comsenz Inc.

    回顶部