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


一、前言:

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

二、为什么整合

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

三、整合原理

作为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文件






相关内容

    暂无相关文章