Windows下使用apache的jk_mod连接WAMP和Tomcat

最近在网上看到很多关于使用jk_mod连接Apache和Tomcat的教程,因为本人主攻PHP,用的都是WAMP作为服务器,它内嵌了Apache、MySQL以及PHP。使用网上的很多的教程都是把Tomcat放在D:\Tomcat,Apache放在在D:\Apache,类似这样的位置,就是两个东西是分开的,这样的情况下,假设Tomcat中有一个名字叫home的目录,而Apache下没有,想要使用localhost(和localhost:8080区分)访问Tomcat的东西,那么我们得在Apache的httpd.ini中加上一句:

JkMount /home/* ajp13

告诉Apache我访问home这个目录的时候使用ajp协议连接到Tomcat。如果我们有很多这样的文件,我们每次都要添加这句话是不是显得特别麻烦?所以我的想法是让Apache原本的localhost的目录和Tomcat的webapps目录放到一起,即把Tomcat中的basedoc的路径指向到Apache的网站根目录,这样就可以不用在httpd.ini中添加东西了。

下面说下步骤:

下载安装WAMP

下载地址为:http://www.wampserver.com/en/ 或者直接点击:http://sourceforge.net/projects/wampserver/files/WampServer%202/WampServer%202.2/wampserver2.2e/wampserver2.2e-php5.4.3-httpd2.2.22-mysql5.5.24-32b.exe/download 下载,本人安装的是32位的,大家如果没有特殊的需要建议安装32位的,这样后面很多东西不会混乱,下载完成就是傻瓜式的安装,启动之后只要WAMP的图标是绿色的就表示成功了,访问localhost基本上就可以看到本地的网站目录了,如果不行可以查下是不是80端口被占用了。

下载 安装Java JDK

这个东西的安装这里就不赘述了,自己谷歌去。涉及到环境变量等等。

下载并解压Tomcat

下载地址为:http://tomcat.apache.org/download-70.cgi 或者直接点击:http://apache.fayea.com/apache-mirror/tomcat/tomcat-7/v7.0.39/bin/apache-tomcat-7.0.39.zip 下载,解压之后,进入到Tomcat的目录,将里面的所有文件包括bin、conf、lib等等全部拷到WAMP的目录下,让这些文件和WAMP的www文件夹并列就行了。为了等下验证的方便,把Tomcat的带来的webapps这个目录下的examples等文件夹拷贝到www里面,然后把webapps删掉。

下载并配置jk_mod模块

下载地址为:http://mirror.bit.edu.cn/apache//tomcat/tomcat-connectors/jk/binaries/windows/ ,这里要注意的是你得先看看你的WAMP里的Apache是什么版本左击任务栏的WAMP图标,选中Apache->Version,看看哪个版本前面打了个勾,Apache的版本就是那个了。我这离的2.2.22,额,这么多二。我们刚刚下载的WAMP是32位的,所以在这个下载地址里也选择32位的
tomcat-connectors-1.2.37-windows-i386-httpd-2.2.x.zip 下载。下载完成解压之后,在目录里有一个jk_mod.so,把这个东西拷到WAMP下的 bin->apache->apache2.2.22->modules中。然后打开Apache的httpd.ini,在一大堆的LoadModule中,加入一句话:

LoadModule jk_module modules/mod_jk.so

最好按照字母的顺序放置,jk_module写在isapi_module的下面:

20130429144935

这样方便以后在WAMP中选择开启关闭哪些Apache模块。

接下来到WAMP的conf文件夹(其实是Tomcat那里拷过来的)下,添加一个名为workers.properties的文件,在里面添加内容:

#让mod_jk模块知道Tomcat的位置
workers.tomcat_home="F:/tomcat"

#让mod_jk模块知道jre的位置
workers.java_home="C:/Program Files (x86)/Java/jdk1.7.0_01" 

#模块版本
worker.list=ajp13

#工作端口,若没占用则不用修改
worker.ajp13.port=8009

#本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.host=localhost

#类型
worker.ajp13.type=ajp13

#代理数,不用修改
worker.ajp13.lbfactor=1

然后打开这个目录下的server.xml,找到Host这个标签,把appBase改成WAMP的www目录,我这离使用的是相对路径:

<Host name="localhost" appBase="www" unpackWARs="true" autoDeploy="true">

接下来在httpd.ini的最后面加入下面这段:

JkWorkersFile "F:/wamp/conf/workers.properties"
JkLogFile "F:/wamp/bin/apache/apache2.2.22/logs/mod_jk.log" 
JkLogLevel warn  
JkMount /*.jsp ajp13
JkMount /*.do ajp13

上面的JkWorkersFile 就是刚刚那个workers.properties文件的路径,JkMount后面的ajp13跟workers.properties里写的worker.list=ajp13的ajp13要相同。

在httpd.ini中找到:

<IfModule dir_module>
    DirectoryIndex index.php index.php3 index.html index.htm
</IfModule>

在后面加上index.jsp,这样index.jsp就成了默认首页了。

打开服务器

接下来将WAMP重启,然后到WAMP目录的bin下面,双击startup.bat这个批处理程序,打开Tomcat,如果Tomcat没有正常打开很可能是第二步安装Java JDK的时候失败了。现在我假设你的安装正常,然后在浏览器中打开:http://localhost/examples/jsp/ ,如果看到正常的页面:

20130429152042

说明jk_mod连接WAMP和Tomcat的配置成功了!

 

Tonitech版权所有 | 转载请注明出处: http://www.tonitech.com/2005.html

发表评论