您的位置:首页 > 运维架构 > Tomcat

Apache2.2.4与Tomcat6.0整合

2009-09-07 10:43 399 查看
环境:jdk1.6 tomcat6.0 apache2.24

第一步:
首先要安装的当然是JDK,安装JDK很简单,只需一直点击下一步即可,默认安装在C:/Program Files/Java/
可以自行修改路径,安装完成以后按下面的示例设置你的系统环境变量:我的电脑 -> 属性 -> 高级 -> 环境变量 (这里要添加的是系统变量,非用户变量)
点击新建,变量名:JAVA_HOME 变量值(这是我的,你的可能和我的不一样):C:/Java/jdk
再点击新建,变量名:CLASSPATH
变量值(注意最前面有一个点): .;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar
再新建,变量名:PATH 变量值:%JAVA_HOME%/bin
环境变量设置好了。

第二步
安装apache2.2.4, 此处注意,如果你本机已经装了IIS并且占用了80端口,你可以选择禁用IIS或者给IIS指定其它端口,或者给Apache指定其它端口,根据实际情况进行设置。在Apache的安装过程中要设置Network Domain和Server Name为Localhost,设置你的Email地址(这个一定要设置,不然Apache启动不起来)。
安装完成之后,如果apache用的是80端口,那么在浏览器中输入 http://localhost/ ,如果使用的是其它端口例如81,则输入 http://localhost:81/ ,将会看到 Apache 的成功页面。此时Apache已经运行,在系统托盘可以看到它的图标,双击打开可以对Apache服务进行控制,我们下面还要安装Tomcat,所以现在选择 Stop 停止 Apache 服务。

第三步
安装Tomcat,将Tomcat解压到 C:/tomcat 下,设置环境变量:
步骤和设置JDK的环境变量一样,新建,变量名:CATALINA_BASE,变量值:c:/tomcat
再新建,变量名:CATALINA_HOME,变量值:c:/tomcat
运行 C:/tomcat/bin/startup.bat 启动Tomcat,出现Tomcat页面则表示安装成功
第四步
将下载的mod_jk-1.2.26-httpd-2.2.4.so改名为mod_jk.so,放入apache安装目录下的modules
注:下载Apache2.2.4版本,不需要下载mod_jk-1.2.26-httpd-2.2.4.so,只需

打开Apache 安装目录/confg/httpd.conf 找到

#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so

将前面的#取掉,然后在最后加上

ProxyPass /images/ !
ProxyPass / ajp://127.0.0.1:8009/
ProxyPassReverse / ajp://127.0.0.1:8009/

将静态页面交给apache处理,JSP交TOMCAT处理

那么就不需要配置:Apache
打开H:/Apache2.2/conf下的httpd.conf,在最后加入下面这段代码并保存。
#此处mod_jk的文件为下载的文件改了名的
LoadModule jk_module modules/mod_jk.so
#指定tomcat监听配置文件地址
JkWorkersFile "C:/tomcat/conf/workers.properties"
#指定日志存放位置
JkLogFile "C:/tomcat/logs/mod_jk2.log"
JkLogLevel info
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /servlet/* ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对.do传送,用以Tomcat解析
JkMount /*.do ajp13
在httpd.conf文件中查找ServerAdmin 将值改为localhost,像下面这样
ServerAdmin localhost
同样,查找DocumentRoot ,将值改为上面appBase的值,我的是 h:/wwwroot,像下面这样:
DocumentRoot "H:/wwwroot"
查找 <Directory 将值改为 h:/wwwroot 像下面这样的:
#
# This should be changed to whatever you set DocumentRoot
<Directory "H:/wwwroot">
#您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况

只需修改:httpd.conf 中的 其中 E 盘目录下的必须存在wwwroot文件夹,如果没有可以在E盘目录下新建一个wwwroot文件夹
ServerAdmin localhost
DocumentRoot "E:/wwwroot"
查找 <Directory 将值改为E:/wwwroot 像下面这样的:
#
# This should be changed to whatever you set DocumentRoot
<Directory "E:/wwwroot">

解决部分图片不显示的问题:
必须将DocumentRoot、<Directory "E:/wwwroot">
地址写完整了,例如:
你将要发布的源码放在wwwroot文件夹得ROOT文件夹下,就得写:
DocumentRoot "E:/wwwroot/ROOT"
<Directory "E:/wwwroot/ROOT">

查找DirectoryIndex,将值改为index.html index.htm index.jsp,还可以加入index.php,多个值之间用空隔隔开,像下面这样:
<IfModule dir_module>
DirectoryIndex index.html index.htm index.jsp
</IfModule>

下面进行服务器的配置:
1.配置tomcat
查找Tomcat目录下的 conf/server.xml文件,找到<host></host>元素,像下面这样的:
<Host name="localhost" appBase="webapps"
unpackWARs="true" autoDeploy="true"
xmlValidation="false" xmlNamespaceAware="false">
将appBase="webapps" 改成appBase="h:/wwwroot",当然,不一定要在h盘,在其他盘也可以,事先一定要把wwwroot这个文件夹建好。
查找Tomcat目录下的 conf/workers.properties文件,并对比下方文本内容,如有不同处,以下方文本为准进行修改。
如果不存在workers.properties文件,可以新建一个workers.properties文件,并将下边的内容复制进去就可以了。
#让mod_jk模块知道tomcat的位置
workers.tomcat_home=C:/tomcat
#让mod_jk模块知道jre的位置
workers.java_home=C:/Java/jre
#模块版本
worker.list=ajp13
#工作端口,若没占用则不用修改
worker.ajp13.port=8009
#本机,若上面的Apache主机不为locahost,作相应修改
worker.ajp13.host=localhost
#类型
worker.ajp13.type=ajp13
#代理数,不用修改
worker.ajp13.lbfactor=1

到此,所有的修改已经完成,在h:/wwwroot目录下新建一个index.html,内容为Hello,World!
双击系统托盘中的Apache图标,然后点击Start启动Apache服务。在地址栏中输入:http://localhost/,可以看到Hello,World!
启动tomcat,在地址栏中输入Http;//localhost:8080/ 如果你也能看到Hello,World!
那么我要恭喜您,apache和tomcat整合成功了
此外,用这个方法进行整合,tomcat对servlet会不敏感,也就是说不处理
解决办法是将servlet以.do的形式进行访问,这样tomcat就会进行处理了
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: