Windows2000下的tomcat+apache的web服务整合
作者:clivewang
email:wanghb507@21cn.com
日期:2004-05-12
版本:1.0
文章编号:cw0001
自序
在本文写作之前,因工作需要要将apache和tomcat服务整合起来作为web服务。但是,以前经验不足,于是到网上找了一些相关的文章进行了一番学习,终于有所领悟。但是感到网上的文章有点不全,或有些零乱,为了便于使用,进行了一番整理,写成此文,遗憾的是没有linux系统作为实验,虽然知道配置和window2000下大体相同,但没有实际操作,不便写出,望各位自行实验。本人首次写此文,要感谢那些无私贡献文章的网友们,也希望各位对此文的不足之处给出指正。
Windows2000下的tomcat+apache的web服务整合 2
1. 准备工作 2
2. 安装apache2.0 2
3. 安装j2sdk1.4.1 3
4. 安装tomcat 4
5. 设置环境变量 4
6. 整合apache和tomcat 4
7. 如何配置自己的web服务目录 5
8. 禁止tomcat的8080端口的访问能力 6
Windows2000下的tomcat+apache的web服务整合
1. 准备2. 工作
2.1. 在安装开始之前,2.2. 要找全所需的所有软件,2.3. 有如下一些必需的软件:
apache_2.0.48-win32-x86-no_ssl.msi
j2sdk-1_4_1_02-windows-i586.exe
jakarta-tomcat-5.0.16.exe
jakarta-tomcat-connectors-jk2.0.2-win32-apache2.0.43.zip
3. 安装apache2.0
3.1. 点击文件apache_2.0.48-win32-x86-no_ssl.msi
3.2. 安装路径为$apache_home= C:/Apache Group/Apache2
3.3. 安装完成之后,3.4. 进入$apache_home/conf/,3.5. 选择文件http.conf。http.conf文件是apache服3.6. 务器启动过程中最重要的配置文件,3.7. 我们对apache的服3.8. 器配置工作基本上都要在这个文件中完成。利用任意一个文本编辑器打开此文件即可。下面对apache的这个配置文件进行介绍并完成配置:
3.8.1. ServerRoot "C:/Apache Group/Apache2" 此项表示apache安装在哪个目录下。本文章默认apache安装在“C:/Apache Group/Apache2”。
3.8.2. Listen 80 此项表示apache服3.8.3. 务器监听得端口号。也可以在短口号之前加上ip地址,3.8.4. 指3.8.5. 明监听服3.8.6. 务的ip,3.8.7. 通常对多ip的服3.8.8. 务器有实际意义。
3.8.9. LoadModule access_module modules/mod_access.so 此项又来配置apache加载的服3.8.10. 务模块,3.8.11. apache已经加载了一些服3.8.12. 务模块。这些模块在$apache_home/module目录下。
3.8.13. ServerAdmin wanghb507@msn.com此项表示管理员的邮件地址
3.8.14. ServerName 192.168.0.80:80 此项表示运行apache服3.8.15. 务的机器名3.8.16. 称,3.8.17. 可以用ip表示,3.8.18. 也可以用计算机名3.8.19. 称。
3.8.20. DocumentRoot "D:/wapdown" apache服3.8.21. 务访问页面的默认地址,3.8.22. 所有申请都将发到此目录的页面。
3.8.23. 下面这项表示是否允许目录访问,3.8.24. 去掉indexs就禁止目录访问
<Directory />
Options FollowSymLinks indexs
AllowOverride None
</Directory>
3.8.25. <Directory "D:/wapdown"> 这一项的设置和6)要保持一致
3.8.26. DirectoryIndex index.html index.html.var index.jsp 此项表示访问的首页默认名3.8.27. 称。
3.8.28. 下面这项表示创建一个新的上下文路径,3.8.29. 上下文路径为sexhome
Alias /sexhome/ "C:/Tomcat 50/webapps/sexhome/"
<Directory "C:/Tomcat 50/webapps/sexhome/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
3.8.30. AddDefaultCharset GB2312 此项表示设定apache服3.8.31. 务的默认字符集
3.9. 安装完成之后,3.10. 打开IE浏览器访问“http://localhost/”,3.11. 可以看到apache的欢迎界面表示安装成功。
4. 安装j2sdk1.4.1
4.1. 点击j2sdk-1_4_1_02-windows-i586.exe在安装向导的指4.2. 引下可以很容易安装,4.3. 建议安装目录选择C盘根目录下建立J2SDK的目录,4.4. 本文选择“C:\ j2sdk-1_4_1”。
4.5. 安装完成后,4.6. 开始->运行->"cmd",4.7. 输入一下命令:"java",4.8. 看看是不4.9. 是出现java的help文件,4.10. 如果是,4.11. 那么j2sdk就安装完成了。
5. 安装tomcat
5.1. 点击jakarta-tomcat-5.0.16.exe,5.2. 进行安装,5.3. 目标5.4. 目录选择:“C:\tomcat 50”。
5.5. 中间安装过程需要输入的一些参数包括(端口:8080、管理Tomcat的帐号密码、j2re1.4.2安装目录选择等)。这样Tomcat就安装完成了。
5.6. 接下试试安装效果!启动Start Tomcat,5.7. 打开ie,5.8. 输入:http://localhost:8080/,5.9. 回车,5.10. 看到tomcat的欢迎界面,5.11. 有一只猫的图片!
6. 设置环境变量
6.1. 下一步我们要设置一些环境变量,6.2. 在我们配置中需要的变量。
环境变量:我的电脑->右键->属性->高级->环境变量;添加以下三个变量
JAVA_HOME= C:\ j2sdk-1_4_1
TOMCAT_HOME=C:\ tomcat 50
CLASSPATH= C:\ j2sdk-1_4_1\lib\dt.jar; C:\ j2sdk-1_4_1\lib\tools.jar
7. 整合apache和tomcat
这一步进入我们本篇文章的关键点了,我们要仔细的做好这里的配置。
7.1. 首先,7.2. 我们要做的是将我们准备7.3. 好的connectors-jk2.0.2-win32-apache2.0.43.zip解压缩。然后,7.4. 可以得到mod_jk2-2.0.43.dll,7.5. 将这个文件改名7.6. 为mod_jk.dll。
7.7. 将改好名7.8. 的文件考到$apache_home/ modules目录下。
7.9. 到这一步我们就需要配置apache的httpd.conf文件,7.10. 这一步是关键之一。我们可以在$apache_home/ conf目录下找到此文件。利用你熟悉的文本编辑器打开此文本(本文前面安装apache的部分也曾经提到过此文件)。
7.11. 在文件的末尾处添加以下几行
# 装载mod_jk模块,用于处理Apache和Tomcat的连接
LoadModule jk_module modules/mod_jk.dll
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile "C:/Tomcat 50/conf/workers.properties"
# 模块工作日志的目录
JkLogFile "C:/Tomcat 50/logs/mod_jk2.log"
# 记录日志的工作级别
JkLogLevel info
# 将所有servlet 和jsp请求通过Ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
注意:上面配置中如果有指明目录的地方,如“C:/Tomcat 50/conf”,需要在安装时改成实际的安装目录,不要弄错了。
7.12. 添加以上配置之后就需要编辑文件workers.properties,7.13. 此文件是整合apache和tomcat的属性文件,7.14. 文件需要手工编辑,7.15. 编辑好之后,7.16. 考到以上配置所指7.17. 定的目录中,7.18. 本文需要位于C:/Tomcat 50/conf/。利用文本编辑工具建立新文件workers.properties,7.19. 把以下内容考到此文件中
# 让mod_jk模块知道Tomcat在何处
workers.tomcat_home=C:/Tomcat 50
# 让mod_jk模块知道JSDK在何处
workers.java_home=C:/j2sdk1.4.1
ps=\
# mod_jk的模块版本
worker.list=ajp13
# mod_jk的工作端口
worker.ajp13.port=8009
# 工作的主机,可以更改
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
7.20. 这一步需要配置tomcat的server.xml文件了。此文件在$tomcat_home/conf下,7.21. 利用文本编辑器就可以打开。找到以下文本,7.22. 去掉注释<!-- -->。
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/>
-->
至此我们就把jsp文件的目录整合到apache的主目录了。重起tomcat,apache服务,访问http://localhost/index.jsp就可以看到tomcat的欢迎界面了。
8. 如何配置自己的web服9. 务目录
经过上面的配置,我们已经可以将jsp请求从apache服务器转发到tomcat解释了,但是也许有的朋友还不知道怎样建立自己的web服务,那么我来介绍在tomcat和apache中如何建立自己的上下文路径,又如何使tomcat和apache两者都是用同一个文件目录?
9.1. 首先,9.2. 我们要知道在tomcat中如何配置上下文环境,9.3. 什么是上下文环境呢?比如你开发了一个web应用名9.4. 字为shop,9.5. 在你的硬盘上的位置是“d:/shop”。想在http://localhost/shop/下访问你的应用,9.6. 这时/shop目录成为你的上下文路径。利用文本编辑器打开$tomcat_home/conf下的server.xml文件。
找到:<Context path="" docBase="ROOT" debug="0">
将其注释去掉改成如下
<Context path="/shop" docBase="d:/shop " debug="0" reloadable="true"/>
其中:path 定义你的上下文路径
docBase 定义你的应用的真实路径
如果你的应用位于$tomcat_home/webapps下,那么你的应用可以直接配置成
<Context path="/shop" docBase="shop " debug="0" reloadable="true"/>
9.7. 下一步要让apache也知道这个上下文路径,9.8. 打开$apache_home/conf下的httpd.conf文件,9.9. 找到如下配置:
Alias /icons/ "C:/Apache Group/Apache2/icons/"
1. 准备工作 2
2. 安装apache2.0 2
3. 安装j2sdk1.4.1 3
4. 安装tomcat 4
5. 设置环境变量 4
6. 整合apache和tomcat 4
7. 如何配置自己的web服务目录 5
8. 禁止tomcat的8080端口的访问能力 6
Windows2000下的tomcat+apache的web服务整合
1. 准备2. 工作
2.1. 在安装开始之前,2.2. 要找全所需的所有软件,2.3. 有如下一些必需的软件:
apache_2.0.48-win32-x86-no_ssl.msi
j2sdk-1_4_1_02-windows-i586.exe
jakarta-tomcat-5.0.16.exe
jakarta-tomcat-connectors-jk2.0.2-win32-apache2.0.43.zip
3. 安装apache2.0
3.1. 点击文件apache_2.0.48-win32-x86-no_ssl.msi
3.2. 安装路径为$apache_home= C:/Apache Group/Apache2
3.3. 安装完成之后,3.4. 进入$apache_home/conf/,3.5. 选择文件http.conf。http.conf文件是apache服3.6. 务器启动过程中最重要的配置文件,3.7. 我们对apache的服3.8. 器配置工作基本上都要在这个文件中完成。利用任意一个文本编辑器打开此文件即可。下面对apache的这个配置文件进行介绍并完成配置:
3.8.1. ServerRoot "C:/Apache Group/Apache2" 此项表示apache安装在哪个目录下。本文章默认apache安装在“C:/Apache Group/Apache2”。
3.8.2. Listen 80 此项表示apache服3.8.3. 务器监听得端口号。也可以在短口号之前加上ip地址,3.8.4. 指3.8.5. 明监听服3.8.6. 务的ip,3.8.7. 通常对多ip的服3.8.8. 务器有实际意义。
3.8.9. LoadModule access_module modules/mod_access.so 此项又来配置apache加载的服3.8.10. 务模块,3.8.11. apache已经加载了一些服3.8.12. 务模块。这些模块在$apache_home/module目录下。
3.8.13. ServerAdmin wanghb507@msn.com此项表示管理员的邮件地址
3.8.14. ServerName 192.168.0.80:80 此项表示运行apache服3.8.15. 务的机器名3.8.16. 称,3.8.17. 可以用ip表示,3.8.18. 也可以用计算机名3.8.19. 称。
3.8.20. DocumentRoot "D:/wapdown" apache服3.8.21. 务访问页面的默认地址,3.8.22. 所有申请都将发到此目录的页面。
3.8.23. 下面这项表示是否允许目录访问,3.8.24. 去掉indexs就禁止目录访问
<Directory />
Options FollowSymLinks indexs
AllowOverride None
</Directory>
3.8.25. <Directory "D:/wapdown"> 这一项的设置和6)要保持一致
3.8.26. DirectoryIndex index.html index.html.var index.jsp 此项表示访问的首页默认名3.8.27. 称。
3.8.28. 下面这项表示创建一个新的上下文路径,3.8.29. 上下文路径为sexhome
Alias /sexhome/ "C:/Tomcat 50/webapps/sexhome/"
<Directory "C:/Tomcat 50/webapps/sexhome/">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
3.8.30. AddDefaultCharset GB2312 此项表示设定apache服3.8.31. 务的默认字符集
3.9. 安装完成之后,3.10. 打开IE浏览器访问“http://localhost/”,3.11. 可以看到apache的欢迎界面表示安装成功。
4. 安装j2sdk1.4.1
4.1. 点击j2sdk-1_4_1_02-windows-i586.exe在安装向导的指4.2. 引下可以很容易安装,4.3. 建议安装目录选择C盘根目录下建立J2SDK的目录,4.4. 本文选择“C:\ j2sdk-1_4_1”。
4.5. 安装完成后,4.6. 开始->运行->"cmd",4.7. 输入一下命令:"java",4.8. 看看是不4.9. 是出现java的help文件,4.10. 如果是,4.11. 那么j2sdk就安装完成了。
5. 安装tomcat
5.1. 点击jakarta-tomcat-5.0.16.exe,5.2. 进行安装,5.3. 目标5.4. 目录选择:“C:\tomcat 50”。
5.5. 中间安装过程需要输入的一些参数包括(端口:8080、管理Tomcat的帐号密码、j2re1.4.2安装目录选择等)。这样Tomcat就安装完成了。
5.6. 接下试试安装效果!启动Start Tomcat,5.7. 打开ie,5.8. 输入:http://localhost:8080/,5.9. 回车,5.10. 看到tomcat的欢迎界面,5.11. 有一只猫的图片!
6. 设置环境变量
6.1. 下一步我们要设置一些环境变量,6.2. 在我们配置中需要的变量。
环境变量:我的电脑->右键->属性->高级->环境变量;添加以下三个变量
JAVA_HOME= C:\ j2sdk-1_4_1
TOMCAT_HOME=C:\ tomcat 50
CLASSPATH= C:\ j2sdk-1_4_1\lib\dt.jar; C:\ j2sdk-1_4_1\lib\tools.jar
7. 整合apache和tomcat
这一步进入我们本篇文章的关键点了,我们要仔细的做好这里的配置。
7.1. 首先,7.2. 我们要做的是将我们准备7.3. 好的connectors-jk2.0.2-win32-apache2.0.43.zip解压缩。然后,7.4. 可以得到mod_jk2-2.0.43.dll,7.5. 将这个文件改名7.6. 为mod_jk.dll。
7.7. 将改好名7.8. 的文件考到$apache_home/ modules目录下。
7.9. 到这一步我们就需要配置apache的httpd.conf文件,7.10. 这一步是关键之一。我们可以在$apache_home/ conf目录下找到此文件。利用你熟悉的文本编辑器打开此文本(本文前面安装apache的部分也曾经提到过此文件)。
7.11. 在文件的末尾处添加以下几行
# 装载mod_jk模块,用于处理Apache和Tomcat的连接
LoadModule jk_module modules/mod_jk.dll
# 指出mod_jk模块工作所需要的工作文件workers.properties的位置
JkWorkersFile "C:/Tomcat 50/conf/workers.properties"
# 模块工作日志的目录
JkLogFile "C:/Tomcat 50/logs/mod_jk2.log"
# 记录日志的工作级别
JkLogLevel info
# 将所有servlet 和jsp请求通过Ajp13的协议送给Tomcat,让Tomcat来处理
JkMount /servlet/* ajp13
JkMount /*.jsp ajp13
注意:上面配置中如果有指明目录的地方,如“C:/Tomcat 50/conf”,需要在安装时改成实际的安装目录,不要弄错了。
7.12. 添加以上配置之后就需要编辑文件workers.properties,7.13. 此文件是整合apache和tomcat的属性文件,7.14. 文件需要手工编辑,7.15. 编辑好之后,7.16. 考到以上配置所指7.17. 定的目录中,7.18. 本文需要位于C:/Tomcat 50/conf/。利用文本编辑工具建立新文件workers.properties,7.19. 把以下内容考到此文件中
# 让mod_jk模块知道Tomcat在何处
workers.tomcat_home=C:/Tomcat 50
# 让mod_jk模块知道JSDK在何处
workers.java_home=C:/j2sdk1.4.1
ps=\
# mod_jk的模块版本
worker.list=ajp13
# mod_jk的工作端口
worker.ajp13.port=8009
# 工作的主机,可以更改
worker.ajp13.host=localhost
worker.ajp13.type=ajp13
worker.ajp13.lbfactor=1
7.20. 这一步需要配置tomcat的server.xml文件了。此文件在$tomcat_home/conf下,7.21. 利用文本编辑器就可以打开。找到以下文本,7.22. 去掉注释<!-- -->。
<!--
<Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
port="8009" minProcessors="5" maxProcessors="75" acceptCount="10" debug="0"/>
-->
至此我们就把jsp文件的目录整合到apache的主目录了。重起tomcat,apache服务,访问http://localhost/index.jsp就可以看到tomcat的欢迎界面了。
8. 如何配置自己的web服9. 务目录
经过上面的配置,我们已经可以将jsp请求从apache服务器转发到tomcat解释了,但是也许有的朋友还不知道怎样建立自己的web服务,那么我来介绍在tomcat和apache中如何建立自己的上下文路径,又如何使tomcat和apache两者都是用同一个文件目录?
9.1. 首先,9.2. 我们要知道在tomcat中如何配置上下文环境,9.3. 什么是上下文环境呢?比如你开发了一个web应用名9.4. 字为shop,9.5. 在你的硬盘上的位置是“d:/shop”。想在http://localhost/shop/下访问你的应用,9.6. 这时/shop目录成为你的上下文路径。利用文本编辑器打开$tomcat_home/conf下的server.xml文件。
找到:<Context path="" docBase="ROOT" debug="0">
将其注释去掉改成如下
<Context path="/shop" docBase="d:/shop " debug="0" reloadable="true"/>
其中:path 定义你的上下文路径
docBase 定义你的应用的真实路径
如果你的应用位于$tomcat_home/webapps下,那么你的应用可以直接配置成
<Context path="/shop" docBase="shop " debug="0" reloadable="true"/>
9.7. 下一步要让apache也知道这个上下文路径,9.8. 打开$apache_home/conf下的httpd.conf文件,9.9. 找到如下配置:
Alias /icons/ "C:/Apache Group/Apache2/icons/"
<Directory "C:/Apache Group/Apache2/icons">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
复制一份到这段文本之后,改成如下:
# 上下文路径配置
Alias /sexhome/ " d:/shop /"
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
复制一份到这段文本之后,改成如下:
# 上下文路径配置
Alias /sexhome/ " d:/shop /"
<Directory " d:/shop /">
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注意:上面的路径要和你在tomcat中的配置相同,如果是在$tomcat_home/webapps下的配置,需要绝对路径,即c:/tomcat 50/webapps/shop/。
10. 禁止tomcat的8080端口的访问能力
这一步其实很简单,其目的是将tomcat专门作为apache服务的附属服务来使用,不允许通过端口来直接访问tomcat服务。
10.1. 利用文本编辑器打开$tomcat_home/conf下的server.xml文件。找到下面这一段文本:
Options Indexes MultiViews
AllowOverride None
Order allow,deny
Allow from all
</Directory>
注意:上面的路径要和你在tomcat中的配置相同,如果是在$tomcat_home/webapps下的配置,需要绝对路径,即c:/tomcat 50/webapps/shop/。
10. 禁止tomcat的8080端口的访问能力
这一步其实很简单,其目的是将tomcat专门作为apache服务的附属服务来使用,不允许通过端口来直接访问tomcat服务。
10.1. 利用文本编辑器打开$tomcat_home/conf下的server.xml文件。找到下面这一段文本:
<Connector port="8080" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" enableLookups="false" redirectPort="8443" acceptCount="100" debug="0" connectionTimeout="20000" disableUploadTimeout="true" />
去掉 port=”8080”即可。
