1. 安装wamp和JDK。(不介绍)
如图,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>
如果内容相同,即代表安装及配置成功。
我们必须在相应的虚拟主机配置中这样配置,如下:
<VirtualHost *:80>
DocumentRoot "d:/wwwroot"
ServerName lfire.com
ServerAlias www.lfire.com
# support for JSP
JkMount /temp ajp13
JkMount /temp/* ajp13
JkMount /bin ajp13
JkMount /bin/* ajp13
JkMount /deployer ajp13
JkMount /deployer/* ajp13
JkMount /jre_bak ajp13
JkMount /jre_bak/* ajp13
JkMount /logs ajp13
JkMount /logs/* ajp13
JkMount /webapps ajp13
JkMount /webapps/* ajp13
JkMount /work ajp13
JkMount /work/* ajp13
JkMount /lib ajp13
JkMount /lib/* ajp13
JkMount /conf ajp13
JkMount /conf/* ajp13
JkMount /jre ajp13
JkMount /jre/* ajp13
## 后面三个才是重点,前面的JkMount看你的情况而定,当然多写无害啦。
JkMount /*/servlet/* ajp13
JkMount /*.jsp ajp13
JkMount /*.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,deny
Deny from all
</Directory>
这样,当试图记问http://localhost/web-inf/时,apache将会拒绝.