WAMP与Tomcat整合
1. 安装wamp和JDK。(不介绍)
2. 下载安装tomcat,http://tomcat.apache.org/download-70.cgi,根据自己系统选择安装包,我是64位系统,直接选择64位安装包。
3. 下载JK,http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/,必须与自己系统相符合,且与apache版本相匹配。
如图,apaceh版本为2.4.2,且系统为64位,因此直接选择:
4. 安装tomcat的系统位置为:
C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0
5. 进入Tomcat文件夹下的conf目录,进行相应配置。建立:workers.properties,内容如下:
workers.tomcat_home="C:\Program Files (x86)\Apache Software Foundation\Tomcat 7.0\"
#让mod_jk模块知道Tomcat的安装路径
workers.java_home="C:\Program Files (x86)\Java\jdk1.7.0\"
#让mod_jk模块知道jdk路径
ps="
worker.list=ajp13
#这里是关键,名字要和httpd.conf的一致。如果这里改了httpd.conf也要改。
worker.ajp13.port=8009
#工作端口,tomcat的jk监听端口,可以查看Server.xml中有port="8009"
worker.ajp13.host=localhost
#Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP
worker.ajp13.type=ajp13
#类型,好像不能改,会出问题
worker.ajp13.lbfactor=1
#负载平衡因子
注:其中的各路径,一定要根据自己安装时系统的实际路径来配置。
6. 配置conf目录下的server.xml文件。
虚拟目录设置:
找到:<Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true">
改为:<Host name="localhost" debug="0" appBase="d:/wwwroot" unpackWARs="true" autoDeploy="true">
其中的 "d:/wwwroot" 为tomcat主目录,各自可以根据实际情况自行指定。
配置Tomcat的监听端口:
找到:<Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
找到:<Connector executor="tomcatThreadPool" port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" />
修改:将其中的端口改为所需要的端口号。
如果这行被注释:<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
请去掉注释,这行就是apache与tomcat通信的端口配置,要与上面 workers.properties 中的 worker.ajp13.port=8009 保持一致。
7. 在apache中加载JK模块
进入目录:C:\wamp\bin\apache\apache2.4.2\modules,将下载的JK包中的mod_jk.so解压到譔目录下。
在http.conf中加入下面内容:
LoadModule jk_module modules/mod_jk.so
JkWorkersFile "C:/Program Files (x86)/Apache Software Foundation/Tomcat 7.0/conf/workers.properties"
JkLogFile "C:/wamp/bin/apache/apache2.4.2/logs/mod_jk.log"
JkMount /*.jsp ajp13
JkMount /*.do ajp13
8. 测试配置是否成功
在上面配置的目录:d:\wwwroot 下创建test目录,再创建test.jsp文件,内容如下:
<%@ page contentType="text/html;charset=gb2312" %>
<HTML>
<HEAD><TITLE>JSP测试页面</TITLE></HEAD>
<BODY><%out.println("<h1>Hello World! </h1>");%></BODY>
</HTML>
如果内容相同,即代表安装及配置成功。
9. 适应于域名解析的配置,如你的域名指定为:www.lfire.com
我们必须在相应的虚拟主机配置中这样配置,如下:
<VirtualHost *:80>DocumentRoot "d:/wwwroot"ServerName lfire.comServerAlias www.lfire.com# support for JSPJkMount /temp ajp13JkMount /temp/* ajp13JkMount /bin ajp13JkMount /bin/* ajp13JkMount /deployer ajp13JkMount /deployer/* ajp13JkMount /jre_bak ajp13JkMount /jre_bak/* ajp13JkMount /logs ajp13JkMount /logs/* ajp13JkMount /webapps ajp13JkMount /webapps/* ajp13JkMount /work ajp13JkMount /work/* ajp13JkMount /lib ajp13JkMount /lib/* ajp13JkMount /conf ajp13JkMount /conf/* ajp13JkMount /jre ajp13JkMount /jre/* ajp13## 后面三个才是重点,前面的JkMount看你的情况而定,当然多写无害啦。JkMount /*/servlet/* ajp13JkMount /*.jsp ajp13JkMount /*.do ajp13</VirtualHost>
10. 在tomcat端的配置
打开tomcat目录conf目录下的server.xml文件,加入如下内容:
<Host name="www.lfire.com" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Context path="" docBase="D:\wwwroot" privileged="true" antiResourceLocking="false" >
</Context>
</Host>
注意:其中关键词的大小写敏感。
11. 安全相关配置
配置httpd.conf文件这种方法把tomcat和apache的根目录设置为同一目录,但是必须限制客户对目录下一些文件的访问,比如存入class的web-inf,在httpd.conf下添加以下代码:#denytheaccesstoWEB-INF<Directory "/WEB-INF/">order allow,denyDeny from all</Directory>这样,当试图记问http://localhost/web-inf/时,apache将会拒绝.