Windows下Apache整合Tomcat成功实例
<
十载的宁都网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都营销网站建设的优势是能够根据用户设备显示端的尺寸不同,自动调整宁都建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联从事“宁都网站设计”,“宁都网站推广”以来,每个客户项目都认真落实执行。div>为什么要用Apache整合Tomcat?对小凡来说,原因有两点:
1、Apache处理静态页面,如htm,html更快
2、也是最重要的一点,可以使用Apache做软件负载均衡,这样处理大并发访问时,就可以通过负载均衡来达到横向扩展的目的,更经济更方便
在网上查了一下Apache整合Tomcat的方法,基本上多多少少都有些错误,现在小凡将自己测试通过的方法记录下来
【下载】
我的环境是:windows XP,因此去Apache官方网站下载时需要下载x86版本的apache,tomcat,以及mod_jk.so,它们的下载地址如下:
Apache HTTP Server (httpd) 2.2.22 : http://httpd.apache.org/download.cgi#apache22
Tomcat 6.0.35 : http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-6/v6.0.35/bin/apache-tomcat-6.0.35-windows-x86.zip
Apache Tomcat整合模块mod_jk.so : http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip
其中mod_jk.so的版本必须和Apache、你自己的操作系统版本一致,如果你用的是其他版本,请访问以下地址下载
http://mirror.bjtu.edu.cn/apache/tomcat/tomcat-connectors/jk/binaries/windows/
【安装】
将Apache安装,Tomcat解压
tomcat-connectors-1.2.32-windows-i386-httpd-2.2.x.zip压缩文件解压,将其中的mod_jk.so文件放至 "Apache安装文件夹modules"文件夹中
编辑"Apache文件夹/conf/httpd.conf"文件,将其中的"Listen 80"改为你自己需要监听的端口,相比各位的80、8080端口很可能都是被其他Web服务器占用了吧?
我将端口设置为8091
Tomcat的服务监听端口改法估计很多人都知道了,我设置为8092端口
【配置】
在"Tomcat安装文件夹/conf"文件夹中创建workers.properties文件,内容如下:
workers.tomcat_home=D:softClusterapache-tomcat-6.0.35 #让mod_jk模块知道Tomcat的位置
workers.java_home=D:Program FilesJavajre6 #让mod_jk模块知道jre的位置
ps= #一般不需要修改
worker.list=ajp13 #模块版本,一般不需要修改
worker.ajp13.port=8009 #工作端口,见下文
worker.ajp13.host=localhost #本机,若上面的Apache主机不为localhost,作相应修改
worker.ajp13.type=ajp13 #类型,一般不需要修改
worker.ajp13.lbfactor=1 #代理数,不用修改
其中worker.ajp13.port的端口号,需要在"Tomcat安装文件夹/conf/server.xml"中查询类似
这样的配置,关键protocol="AJP/1.3",其中port就是端口号,一般来说不会被占用
在"Tomcat安装文件夹/conf/server.xml"最后节点内部添加如下配置
其中docBase就是将Tomcat访问的根目录设置为你自定义的目录,我们做测试的时候用Tomcat自带的Examples最好不过了,其中又有htm又有jsp,刚好满足这次的测试要求
在"Apache文件夹/conf/httpd.conf"文件最后添加如下配置
LoadModule jk_module modulesmod_jk.so
#此处mod_jk的文件为你下载的文件
JkWorkersFile "D:softClusterapache-tomcat-6.0.35confworkers.properties"
#指定tomcat监听配置文件地址
JkLogFile "D:softClusterapache-tomcat-6.0.35logsmod_jk2.log"
#指定日志存放位置
JkLogLevel info
#设置虚拟主机
ServerAdmin localhost
DocumentRoot D:softClusterapache-tomcat-6.0.35webappsexamples
AllowOverride None
Options None
Order allow,deny
Allow from all
#您的站点项目所在路径,应与tomcat中的目录设置相同,据说以上两个必须同时设置才可以生效,没有试过不同的时候会有什么情况
ServerName localhost
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txtcommon
JkMount /servlet/* ajp13
#让Apache支持对servlet传送,用以Tomcat解析
JkMount /*.jsp ajp13
#让Apache支持对jsp传送,用以Tomcat解析
JkMount /*.do ajp13
#让Apache支持对.do传送,用以Tomcat解析
是的,你没有看错,这个配置语法就是这么的。。。。不能理解,又是空格隔开又是XML的,不明白怎么解析的。
其中也有DocumentRoot和Directory的配置,我们也配到和Tomcat一样吧
【测试】
打开Tomcat
打开Apache
尝试访问http://localhost:8091和http://localhost:8092,如果两个页面一样,说明我们已经成功了一半
以后如果需要外部客户端访问,只会访问到http://localhost:8091这个地址,因为我们只需要通过Apache进行访问分发,Tomcat对外部而言是不可见的
访问http://localhost:8091/jsp/jsp2/el/functions.jsp?foo=JSP+2.0
这是Tomcat自带例子的一个访问地址,是一个典型的jsp页面,如果通过Apache的地址可以访问并打开这个地址,说明配置成功了
文章标题:Windows下Apache整合Tomcat成功实例
链接分享:http://cdiso.cn/article/cpiipi.html