apache2.2 Tomcat7 整合

已经测试成功

运行环境:Windows7

Apache 2.2    Tomcat 7.0    jdk6     mod_jk.so

 

JDK 安装

JDK (Java Development Kit) 是 Sun 针对Java开发员的产品,是现今使用最广泛的Java SDK。JDK 是整个Java的核心,包括了Java运行环境和基础类库等。常用版本包括 JDK 6、JDK 7、JDK 8。

成功安装 JDK 6 后,必须设置环境变量,让系统感知并能调用 JDK 6。

 

打开 “控制面板 --> 系统安全 --> 系统 --> 高级系统设置 --> 环境变量”,增加以下配置 :

java_home

C:\ jdk1.6.0_30

写入JDK安装的路径

Path

;%java_home%\bin

在Path原有值上加入此值

classpath

;%java_home%\lib\dt.jar;%java_home%\lib\tools.jar

在classpath的原有值上加入此值

 

运行 Tomcat 7 安装包,完成安装后,打开 “控制面板 --> 系统安全 --> 系统 --> 高级系统设置 --> 环境变量”,增加以下配置 :

 

Tomcat 7 安装

变量
tomcat_homeC:\Program Files\Apache Software Foundation\Tomcat 7.0
Path;%tomcat_home%\lib;%tomcat_home%\lib\servlet-api.jar;%tomcat_home%\lib\jsp-api.jar

在conf 文件夹的 server.xml 是 Tomcat 最为重要的配置,下面是 server.xml 的常用设置:

 

<?xml version='1.0' encoding='utf-8'?>
 <!-- Server 属性说明    
      port:指定一个端口,这个端口负责监听关闭Tomcat的请求    
      shutdown:向以上端口发送的关闭服务器的命令字符串    
  -->  
 <Server port="8006" shutdown="SHUTDOWN">
   <!--定义多个监听-->
   <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" />
   <Listener className="org.apache.catalina.core.JasperListener" />
   <Listener className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
   <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
   <Listener className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
    <!--定义共用资源-->
   <GlobalNamingResources>
     <Resource name="UserDatabase" auth="Container"
               type="org.apache.catalina.UserDatabase"
               description="User database that can be updated and saved"
               factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
               pathname="conf/tomcat-users.xml" />
   </GlobalNamingResources>
   <!--<Service>元素由org.apache.catalina.Service接口定义,它包含一个<Engine>元素,
    以及一个或多个<Connector>,这些Connector元素共享用同一个Engine元素-->
   <Service name="Catalina">
     <!--<Connector>元素代表与客户程序交换信息,它可以接收客户的请求,并向客户返回响应结果-->
     <!--定义HTTP协议的处理方式,处理接口默认为8080
           由于此接口经常被其他应用程序调用,建议修改接口-->
     <Connector port="8081" protocol="HTTP/1.1"
                connectionTimeout="20000"
                redirectPort="8443" />
     <!--定义AJP/1.3协议的处理方式,此为整合 Tomcat+Apache 的核心协议,请慎重处理 -->
     <Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
     <!--每个<Service>元素只能包括一个<Engine>元素. 
         <Engine>元素处理在同一个<Service>中所有<Connector>元素接收到的客户请求-->
     <Engine name="Catalina" defaultHost="localhost">
       <!-- Realm是一个存储用户名,密码以及和用户名相联系的角色的”数据库”
            用户名,密码可以用来验证用户对一个或多个web应用程序的有效性。-->
       <Realm className="org.apache.catalina.realm.LockOutRealm">
         <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                resourceName="UserDatabase"/>
       </Realm>
        <!--<Host>元素定义了一个虚拟主机,它可以包含一个或多个Web应用-->
       <Host name="localhost"  appBase="webapps"
             unpackWARs="true" autoDeploy="true">
         <Valve className="org.apache.catalina.valves.AccessLogValve" directory="logs"
                prefix="localhost_access_log." suffix=".txt"
                pattern="%h %l %u %t "%r" %s %b" />
       </Host>
     </Engine>
   </Service>
 </Server>


Tomcat 默认使用8080端口处理HTTP请求(因为此端口经常被其他应用程序调用,建议修改)。
完成设置后,输入地址localhost:8080 就可看到 Tomcat 的管理页面。

 

 

可以在 webapps 目录下新建 index.jsp 页面,启动 Tomcat ,测试 Tomcat 能否正常运行。

 

 

整合 Apache+Tomcat

在 Apache、Tomcat 都能正常运行的情况下,把 mod_jk.so 拷贝到 "/Apache2.2/modules"
在 “/Tomcat 7.0/conf ” 文件夹下增加 workers.properties 文件,输入以下内容。

workers.tomcat_home=C:\Program Files\Apache Software Foundation\Tomcat 7.0
#让 mod_jk 模块感知 Tomcat
workers.java_home=C:\Program Files\Java\jdk1.6.0_30\jre
#让 mod_jk 模块感知 jre
ps=\
#指定文件路径分割符
worker.list=config1
worker.config1.port=8009
#工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配
worker.config1.host=localhost
#Tomcat服务器的地址
worker.config1.type=ajp13
#类型
worker.config1.lbfactor=1
#负载平衡因数

注意:

worker.list=config1中,conifg1为自定义名称,但此名称必须与下文所述的 “/Apache 2.2/conf/httpd.conf ” 文件中 ,JkMount 指令对应的名称相匹配。

 

加入workers.properties 文件后,可修改 “/Apache 2.2/conf/httpd.conf ” 文件,加入以下配置。
注意 JkMount 指令中的变量必须与worker.list 所配置的名称相同。

# 设置虚拟主机,定义端口为8000
 <VirtualHost 127.0.0.1:8000>
     ServerName 127.0.0.1
     #定义服务名称
     DocumentRoot "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps"
     #定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录
     DirectoryIndex index.html index.htm index.jsp
     ErrorLog logs/shsc-error_log.txt
     CustomLog logs/shsc-access_log.txt common
     #例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送
     JkMount /sun.shop/blog/* config1
     #例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析
     JkMount /*.jsp config1
     #例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析
     JkMount /*.do config1
     #例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析
     JkMount /*.action config1
     #例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析
 </VirtualHost>
 
 # 允许客户端访问此路径
 <Directory "C:/Program Files/Apache Software Foundation/Tomcat 7.0/webapps">  
     Options Indexes FollowSymLinks  
     AllowOverride None  
     Order allow,deny  
     Allow from all  
 </Directory>  
 
 LoadModule jk_module modules/mod_jk.so  这个位置要引用对
 # 此处 mod_jk.so 文件为你下载的文件
 JkWorkersFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/conf/workers.properties"
 # 指定tomcat监听配置文件地址
 JkLogFile "C:/Program Files/Apache Software Foundation/Tomcat 7.0/logs/mod_jk2.log"  是否成功可以看一下这个日志
 # 指定日志存放位置
 JkLogLevel info


 

注意:

JkMount /*.jsp config1 指令代表当客户端向 Apache 发送 *.jsp 页面请求时,把处理指向 Tomcat。当使用 Struts时建议使用  *.action、*.do等后缀命名动作,否则若使用无后缀命名时,加入 JkMount /* config1命令,Apache 则会把包括 *.html等静态页面所有请求,都转向 Tomcat。  有个全部的是   JkMount    /*   config1

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值