apache + tomcat 实现静态页面动态页面分离

一、前言:

 

Apache是当前使用最为广泛的WWW服务器软件,具有相当强大的静态HTML处理的能力
Tomcat和IIS、Apache等Web服务器一样,具有处理HTML页面的功能,另外它还是一个Servlet和JSP容器,独立的Servlet容器是Tomcat的默认模式。

二、为什么整合

 

 

整合的最主要原因是为了在现有的硬件条件下提供最大的负载。 
如果单独使用Tomcat做JSP服务器,在工作效率上会存在问题,Tomcat处理静态HTML的能力不如Apache,并且所能承受的最大并发连接数也有一定的限制; 
在测试中,当并发连接较多时,Tomcat就会处于"僵死"状态,对后继的请求连接失去响应。所以现在提出一个"整合"解决方案:将html与jsp的功能部分进行明确分工,让tomcat只处理jsp部分,其它的由apache这个web server处理。Apache与Tomcat各司其职,那么服务器的整体效率就能够得到提升。

 

三、整合原理

作为Apache下面的子项目,Tomcat 与 Apache之间有着天然的联系。在实际操作中,主要是Apache作为主服务器运行,当监听到有jsp或者servlet的请求时,将请求转发给tomcat服务器,由tomcat服务器进行解析后,发回apache,再由apache发回用户。 

在tomcat中有两个监听的端口,一个是8080用于提供web服务,一个是8009用于监听来自于apache的请求。当apache收到jsp或者servlet请求时,就向tomcat 的8009端口发送请求,交由tomcat处理后,再返回给apache,由apache返回给客户。 

 

四、将静态资源放在apache的某个目录下(如:放在htdocs下,static-res为静态资源目录)

 

把项目的静态资源复制到Apache的某个目录下(如:D:/apache/htdocs/static-res)

 

五、自己在conf目录下编写一个.conf文件(如:meeting.conf)

文件内容

 

LoadModule headers_module modules/mod_headers.so   
<VirtualHost *:80>  
    Header set Access-Control-Allow-Origin *
    ServerName 127.0.0.1
    DocumentRoot "D:/apache/htdocs/static-res"  
</VirtualHost>  
说明:

1)LoadModule, 要先加载apache的headers_module

2)Header 这行很重要,声明哪个url可以跨域访问这些静态资源。(也可以把后面的url改成 “*” ,即 “Header set Access-Control-Allow-Origin *”,表示所有人都能访问这些静态资源,但这样好像很不安全。)

3)ServerName 指出用哪个url来访问这些静态资源。

4)DocumentRoot 指出放静态资源的位置

六、在官网中下载mod_jk-1.2.31-httpd-2.2.3.so文件

将此文件放在apache的modules目录下。
 

七、创建mod_jk.conf 放在conf目录下

内容:
LoadModule jk_module modules/mod_jk-1.2.31-httpd-2.2.3.so
JkWorkersFile conf/workers.properties
#指定那些请求交给tomcat处理,"controller"为在workers.propertise里指定的负载分配控制器名
JkMount /*.jsp controller
 

八、创建workers.properties 放在conf目录下

内容:
worker.list = controller
#========tomcat1========
worker.tomcat1.port=8009
worker.tomcat1.host=127.0.0.1
worker.tomcat1.type=ajp13
worker.tomcat1.lbfactor = 1


#========controller,负载均衡控制器========
worker.controller.type=lb
worker.controller.balanced_workers=tomcat1
worker.controller.sticky_session=false
worker.controller.sticky_session_force=1
#worker.controller.sticky_session=1
 

九、修改http.conf文件 在下方加入如下内容

Include "D:\apache\conf\mod_jk.conf"

 

十、修改tomcat中的server.xml文件

 

有喜欢的朋友可以关注下头条号《老徐聊技术

 

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值