整合apache2.2.x和tomcat5.5(转)

有的同学问,为什么要整合呢,用tomcat不就搞定了吗,而且现在的tomcat5.5以上版本有足够的能力处理静态资源了。但是当你的服务器即需要放Jsp又需要放php的时候,那80端口只能由apache去监听,tomcat无法监听了,整合后tomcat才能作为一个apache的子服务去调用。

Tomcat5.5 apache2.2.x 整合,有很多方式,不推荐proxyPass的方式,该方式经过我长期测试,是有bug的。
所以大部分 J2EE 的网站都是采用JK将二者整合的做法。
 
Apache 版本 2.2.x (x>=3)
 
过程如下;
 
1. 首先安装 apache, 装完后把 IIS 停掉后,再启动 apache 的服务器(安装时根据提示安装即可,安装目录一般不装到系统盘上)
 
2. 安装 tomcat (安装之前请先把 JDK 安装好)
 
3. 安装 tomcat 过程中会需要用户设置用户名和密码,密码部分记住一定要输,最好设置的尽量复杂些
 
4. 安装 mysql ( 安装过程有此不详述 )
 
5. 安装完成后把 mysql 的驱动程序 mysql-connector-java-5.0.4-bin.jar 放到 apache-tomcat-5.5.23/common/lib
 
6. jk 官方去下载者 windows 对应 apache 版本的 jk jk 官方下载地址: http://labs.xiaonei.com/apache-mirror/tomcat/tomcat-connectors/jk/binaries/
 
7. httpd.conf 中配置如下:
 
    a. 在该文件中找到这条语句 LoadModule rewrite_module modules/mod_rewrite.so 并把这条语句前面的 # 注释去掉,打开此模块
 
    b. 把该条语句 LoadModule jk_module modules/mod_jk-1.2.27-win-httpd-2.2.10.so 放入该文件中(其中该部分 mod_jk-1.2.27-win-httpd-2.2.10.so 是你所下的 JK 的版本号),是为了让 tomcat apache 进行通信的
 
    c. 把此语句 DocumentRoot "D:/Program Files/Apache Software Foundation/Apache2.2/htdocs" 改为 DocumentRoot "D:/webroot" ,(调置所有网站的家目录,若启用虚拟主机功能此设置自动失效)
 
    d. 把此语句 < Directory " D: / Program Files / Apache Software Foundation / Apache2.2 / htdocs " > 改为 < Directory " D: / webroot " > (为所有网站设置公共目录属性)
 
    e. 把此语句 Options Indexes FollowSymLinks 改为 Options  FollowSymLinks (禁止用户进行目录浏览)
 
    f. 把此语句 AllowOverride None   改为 AllowOverride All (使网站自已的重写规则生效)
 
    g. 把此语句 DirectoryIndex index.html 后添加 index.htm index.jsp 等(为网站目录设置默认首页)
 
    h.#Include conf/extra/httpd-vhosts.conf 前的 # 注释去掉,是为了启用虚拟主机
 
8. 配置 apache-tomcat-5.5.23/conf 下的 server.xml 文件 localhost 添加 context 单元。
 
    a. 如果只有一个域名,就只需添加 context 单元
 
    < Context path = "/web1" docBase = "D:/webroot/web1" >
        < Resource name = "jdbc/testDataSource" auth = "Container" type = "javax.sql.DataSource"
               maxActive = "100" maxIdle = "30" maxWait = "10000" removeAbandoned = "true"
               username = "root" password = "123" driverClassName = "com.mysql.jdbc.Driver"
               url = "jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8" />
  </ Context >
  apache httpd.conf中找到 #Include conf/extra/httpd-vhosts.conf,去掉#号
    Apache Software Foundation/Apache2.2/conf/extra/vhost.conf 文件需要添加一个 VirtualHost 目录
 
       < VirtualHost * :80 >   DocumentRoot D:/webroot </ VirtualHost >
 
    b. 如果多于一个域名 , 则需要添加 host 单元( context 应包含其中)
   
    < Host name = "www.javadn.com" appBase = "webapps" unpackWARs = "true" autoDeploy = "true" xmlValidation = "false" xmlNamespaceAware = "false" >
    < Alias > javadn.com </ Alias >  
        < Context path = "" docBase = "D:/webroot/web1" >
    < Resource name = "jdbc/testDataSource" auth = "Container" type = "javax.sql.DataSource" maxActive = "100" maxIdle = "30" maxWait = "10000" removeAbandoned = "true" username = "root" password = "123" driverClassName = "com.mysql.jdbc.Driver" url = "jdbc:mysql://127.0.0.1:3306/web1db?useUnicode=true&characterEncoding=utf8" />
    </ Context >
    </ Host >
 
    注: Alias 别名可以指定多个,每在 server.xml 文件中添加一个 host 单元,就必须在 vhost.conf 文件中对应的添加一个 VirtualHost 单元, vhost.conf 文件中的 ServerName 的值对应 server.xml 中的 Host 单元的 name 值, ServerAlias 对应 server.xml 中的 Alias 值,如果有多个别名,可以排着往后写例如: ServerAlias javadn.com aaa.com www.bbb.com
   
    附: VirtualHost 常用配置
 
    < VirtualHost * :80 >
         DocumentRoot D:/webroot
         JkMount /*.jsp ajp13 (遇到 .jsp 的文就会通过 ajp13 交给 tomcat 来处理,像 .jpg,.gif 等文件则由 apache 来处理)
         JkMount /*.do ajp13
         ServerName www.javadn.com
          ServerAlias javadn.com aaa.com www.bbb.com
    </ VirtualHost >
   
    以上 .do .jsp 文件交由 tomcat 来处理;网站中的静态文件都交由 apache 来处理,因为 apahce 本身处理静态文件的速度比 tomcat 要快 ,这样一来动态文件由 tomcat 来处理,静态文件由 apache 来处理,不但减轻了 tomcat 的负担而且还有效的提高了网站的访问速度。
   
    重启 Tomcat ,重启 Apache ,成功。就是这么简单,注意上面的 ajp13 ,直接用就可以,我发现在 Apache2.2.3 以后的 jk 版本中已经默认实现了。
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值