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

Apache2.2与Tomcat7集成方案详解

2013-09-05 14:36 447 查看
首先谈一下为什么要集成Apache和tomcat7?

Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力。 Tomcat服务器是一个免费的开放源代码的Web应用服务器,Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。但是其处理静态HTML页面的能力肯定和Apache和IIS这种专业级别的服务器没法比。因此取两者之长避两者之短,将两者进行进行整合达到有点最大化的效果。

1.安装Apache2.2。 特别说一下这里会提示输入域名之类的窗口,我这里全部填的localhost.端口的话默认的是80,但是这个端口某些时候可能会被占用,所以我在这里改成了8001(在配置文件httpd.conf里也可以修改,具体修改地方为:Listen 8001 修改为指定的端口号)。安装完成后启动服务名为Apache2.2的服务后,在网址里输入:http://localhost:8001,会显示出一个测试的页面:It works! (这个页面放在哪里呢?可以看下C:\Program Files\Apache Software Foundation\Apache2.2这个目录下是不是有个htdocs文件夹,下面是不是有个index.html.以后我们的页面就要放在这个里面。当然你也可以自己定义放在哪里,我在这里就改成了自己创建的WebSite文件夹,然后必须要在httpd.conf里指定为你创建的这个文件夹。配置的地方有2处,看我的配置信息:<Directory "C:/Program Files/Apache Software Foundation/Apache2.2/WebSite">)

2.安装tomcat7。其实没什么好安装的,下载下来的都是绿化包,直接解压就可以使用.测试一下:http://localhost:8080 是不是看见一只小猫咪啊?其实我觉得他像一只小老虎。

3.下载整合插件mod_jk.so。具体在哪儿下载呢?http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows/ 网址老是变化,具体你就在tomcat官网左侧有个tomcat connectors哪儿慢慢找吧。下载后解压找到mod_jk.so放在apache安装目录下的modules文件夹下,里面是不是有很多的.so文件呢,没错就是这里啦。

4.在httpd.conf里配置信息。

# 设置虚拟主机,定义端口为8001,这个和你在前面配置Listen 8001的端口一定是要一样的哦
<VirtualHost 127.0.0.1:8001>
ServerName 127.0.0.1
#定义服务名称
DocumentRoot "C:/Program Files/Apache Software Foundation/tomcat7/webapps"
#定义站点项目所在路径,把路径指向 tomcat 中的默认网站目录
DirectoryIndex index.html index.htm index.jsp
ErrorLog logs/shsc-error_log.txt
CustomLog logs/shsc-access_log.txt common
#例子1,让 Apache 支持对webapps/sun.shop/blog 中页面传送
JkMount /sun.shop/blog/* config1
#例子2,向Apache请求此文件夹内页面时,系统将转向用Tomcat解析
JkMount /*.jsp config1
#例子3,向 Apache 请求jsp页面时,用 Tomcat 进行解析
JkMount /*.do config1
#例子4,向 Apache 请求.do 动作时, 用 Tomcat 进行解析
JkMount /*.action config1
#例子5,向 Apache 请求 .action 动作时, 用 Tomcat 进行解析
</VirtualHost>

# 允许客户端访问此路径
<Directory "C:/Program Files/Apache Software Foundation/tomcat7/webapps">
Options Indexes FollowSymLinks
AllowOverride None
Order allow,deny
Allow from all
</Directory>

LoadModule jk_module modules/mod_jk.so
# 此处 mod_jk.so 文件为你下载的文件
JkWorkersFile "C:/Program Files/Apache Software Foundation/tomcat7/conf/workers.properties"
# 指定tomcat监听配置文件地址
JkLogFile "C:/Program Files/Apache Software Foundation/tomcat7/logs/mod_jk2.log"
# 指定日志存放位置
JkLogLevel info

5.配置tomcat的conf文件夹下添加workers.properties.具体添加如下内容,自己根据需求修改。

workers.tomcat_home=C:\Program Files\Apache Software Foundation\tomcat7
#让 mod_jk 模块感知 Tomcat
workers.java_home=C:\Program Files\Java\jdk1.7.0_09\jre
#让 mod_jk 模块感知 jre
ps=\
#指定文件路径分割符
worker.list=config1
worker.config1.port=8009
#工作端口,此端口应该与server.xml中Connector元素的 AJP/1.3 协议所使用的端口相匹配
worker.config1.host=localhost
#Tomcat服务器的地址
worker.config1.type=ajp13
#类型
worker.config1.lbfactor=1
#负载平衡因数

6.测试一下啦。启动apache和tomcat然后在浏览器中输入:http://localhost:8001,这是你会发现我们又看到了那只小老虎(注意我们输入的地址是在访问apache不是在访问tomcat,访问tomcat的地址是:http://localhost:8080)。但是我们的apache的htdocs文件夹下没有这个小老虎的页面呀,这是因为我们集成成功啦。我们在访问.jsp页面的时候,apache会根据请求然后来判断请求页面的类型,当发现是.jsp页面的时候,mod_jk插件就会将请求转达给了tomcat,这时候tomcat会负责处理请求,所以我们会看到了webapps下的那只小老虎。

所需工具打包下载:http://pan.baidu.com/share/link?shareid=507362694&uk=2937351404

如有疑问随时欢迎EmailToMe: junkedeng@163.com
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  apache2.2 tomcat7 整合