Apache与Tomcat整合(Apache 2.2.11&Tomcat 6.0.18)
PS:不想再弄个服务器的日至分类,就扔这里了……
为了做测试,最近在计算机上部署了IIS、Apache、Tomcat等服务器
众所周知Apache和Tomcat同出Apache
它们两个整合在一起再好不过了
网上关于他们整合的一堆,严格意义上我也是Copy的,希望给大家个参考
先说下我的环境
Vista Ultimate Sp1
JDK 1.6 update 14 物理路径 D:\Java\jdk1.6.0_14
JRE 物理路径 D:\Java\jre6
Tomcat 6.0.18 物理路径 D:\Tomcat 6.0.18
Apache 2.2.11 物理路径 D:\Apache 2.2
OK,上面只是我的
但是版本你会更新…照顾新手
给下全部流程
先下载JDK(虽然作为应用来说,直接用JRE就行,不过我建议使用JDK,毕竟省很多麻烦)
Apache (校内网的镜像 http://labs.xiaonei.com/apache-mirror/httpd/binaries/win32/)
如果你不知道用哪个版本你可以选择跟我一样的: apache_2.2.11-win32-x86-no_ssl.msi
jk(整合中最为关键的部分)
http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.28/
注意:下载的版本一定要与Apache匹配(jk 2.2.3 是针对所有Apache 2.2.X的所以大家都不要浪费眼神找2.2.X版本的jk了)
因为我用的Apache是2.2.11 所以下载mod_jk-1.2.28-httpd-2.2.3.so
OK,准备工作基本完成,开工
首先安装JDK 路径自己记得就行 我安装到了D:\Java\jdk1.6.0_14
安装过程中会自动提示安装JRE 我安装到了D:\Java\jre6中
安装完成后开始修改环境变量(Vista:在我的电脑上点右键,高级系统设置,环境变量。Xp:在我的电脑上点右键,属性,常规,高级,环境变量)
在系统变量中找到Path 点击编辑 在最后天加上D:\Java\jdk1.6.0_14\bin,注意与前面的项目要有“;”作为分隔符
比如以前是……D:\Subversion\bin;D:\TortoiseSVN\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin
那么修改完就是这个样子
D:\Subversion\bin;D:\TortoiseSVN\bin;C:\Program Files\SinoVoice\jTTS 5.0 Desktop\Bin;D:\Java\jdk1.6.0_14\bin
修改完成后再新建2个变量
JAVA_HOME = d:\Java\jdk1.6.0_14
CLASSPATH = .;d:\Java\jdk1.6.0_14\lib\dt.jar;d:\Java\jdk1.6.0_14\lib\tools.jar
(如果你安装的是JRE,这里换成jre的路径就行)
(Classpath不要漏掉前面的那个.;)
JDk安装完成后就可以开始安装apache和tomcat了
安装apache时注意选for all users这样默认端口就为80了(安装前如果本地开启了IIS,建议先关闭,老手根据需要自己搞….)
安装完后在右下角的monitor里把Apache停止掉
安装Tomcat时端口号我用了8080 自己根据需要自己改
同样Tomcat安装完毕后 停止掉服务
现在开始配置
首先把你下载的mod_jk-1.2.28-httpd-2.2.3.so拷贝到Apache的modules文件夹里
打开Apache按章路径下conf文件夹里的httpd.conf文件,写入以下内容(建议写在一堆LoadModule的末尾)
#设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理
LoadModule jk_module modules/mod_jk-1.2.28-httpd-2.2.3.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile “d:/Tomcat6.0.18/conf/workers.properties”
#指定tomcat监听配置文件地址
JkLogFile “d:/Tomcat6.0.18/logs/mod_jk2.log”
#指定日志存放位置
JkLogLevel info
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
另外说下 为了方便大家可以修改以下几项(大家在httpd.conf里搜索下)
ServerAdmin harde.liu@gmail.cm #管理员Email
Listen 80 #监听的端口号
ServerName 10.0.0.1:80 #域名
DocumentRoot “E:/WebRoot” #网站根目录 需要与Tomcat里网站的路径一致(Tomcat的一会讲)
#这个也要改掉
DirectoryIndex index.jsp index.html #默认主页 空格分割
然后打开Tomcat安装路径下conf文件夹里的workers.properties(没有的话新建一个文本文件改成这个,注意是workers.properties,不是workers.properties.txt)
写入以下内容
workers.tomcat_home=D:\Tomcat 6.0.18
workers.java_home=D:\Java\jre6
ps=\
worker.list=ajp13
worker.ajp13.port=8009
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
含义:
workers.tomcat_home=Tomcat的位置
workers.java_home=jre的位置
ps=\我也不知道干什么的
worker.list=模块版本
worker.ajp13.port=工作端口,若没占用则不用修改
worker.ajp13.host=本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型
worker.ajp13.lbfactor=1 #代理数,不用修改
懂JAVA语言的应该知道properties文件是干嘛的
修改server.xml
找到<host>在里添加
<Context path=”” docBase=”E:\wwwroot” reloadable=”true” crossContext=”true”/>
就可以了(设定网站根目录的)
ok,设置完成,大家可以试着用下了