Tomcat一点一滴之(三)整合Apache、Nginx

Tomcat一点一滴之(三)整合Apache、Nginx

前言:上两篇说了如何安装、部署Tomcat。可是有个问题来了,当Tomcat需要处理静态页面时就比较慢了,至少不如Apache,所以就出现了Apache+Tomcat的整合。不过网上有人总结了关于这两个开源软件整合还有一些原因:

1、聚合。使用Apache做为前端大门,后端部署多个Tomcat实例,如果一个实例出现问题,Apache将忽略这个实例,让系统管理员高枕无忧。当然如果在硬件负载均衡设备的基础上利用Tomcat的聚合能力就没有必要进行集成了。2、聚合/安全。当然如果使用Apache做为门户来区分拥有不同URL命名空间的不同的Tomcat。每个Tomcat都成为一个保护区域,网站空间,从安全角度讲,仅仅需要主要Apache 服务器。在这个方案中,Apache已经变成一个轻量级的代理服务器。3、安全。就安全来讲,集成和不集成都是争论双方的焦点。Java有安全管理功能,Apache对安全考虑的也是比较周道的。可以使用Google来查阅这方面的资料。在某个场合中,集成是上上策,但是另外一个场合,可能不集成略胜一筹。但是如果集成Apache和Tomcat,一定要记住:你需要同时关注Apache和Tomcat的安全,而不是一个。4、附加因素。在Apache上运行perl,PHP和CGI都是很普通的事情。但是对Tomcat来说,不仅速度忙,而且不太正式。Apache可以任意添加上百个附加软件,香港服务器租用,当然Tomcat也有这个能力,但是这样的模块还没有开发出来。5、装饰。当Apache做为Tomcat前端时,你可以完成大量Tomcat不支持或没有现成代码的装饰工作。没有必要重新为Tomcat开发一套类似为Apache的mod_headers,mod_rewrite, and mod_alias。6、速度。Apache的静态网页处理速度高于Tomcat。但是除非你的流量很大,香港空间,这一点时没有意义的。在另外一些情况下,Tomcat要比Apache快。所以两者结合可以加速你的站点。7、Socket handling(姑且认为是连接)/系统稳定性。Apache在处理错误链接上优于Tomcat。主要原因是Tomcat所有的连接都交给JVM来处理,而JVM是跨平台的,问题是跨平台的优化是一个严峻的考验。大部分时间java程序都是正常的,但是当情况非常恶劣时,例如:非常频繁的掉线,无效数据包,无效IP的无效请求。Apache比基于JVM的程序要好。

下面就先来说下Apache+Tomcat的集成方法:apache与tomcat负载集群集成方法有3种jk、jk_proxy、http_proxy本次实验为jk的这种方式,好了,开始:一、准备包文件,安装:需要用到的包:httpd-2.2.16.tar.gz #Apache源码包apache-tomcat-6.0.35.tar.gz #Tomcat压缩包tomcat-connectors-1.2.30-src.tar.gz #连接Apache和Tomcat(mod_jk)

1.首先安装Apache

2.再安装Tomcat(需先安装java环境,参照第一篇)

3.最后安装连接器(mod_jk)

二、配置其相关参数文件1.首先是Apache相关的,刚刚安装了mod_jk模块,也已经拷贝到Apache的模块目录中,下面就是让Apache来支持它。需要在Apache的conf目录下新建两个配置文件:mod_jk.conf #模块本身的配置文件workers.properties #定义Tomcat工作的的配置文件

vim mod_jk.conf

vim workers.properties

下面就是修改Apache的主配置文件httpd.confa.在DirectoryIndex中添加 index.jsp ###166行b.修改为:DocumentRoot "/var/wwwroot" ###104行c.修改为:<Directory "/var/wwwroot"> ###131行 #可能行数会有少于差异d.在最后面添加:LoadModule jk_module modules/mod_jk.soInclude /usr/local/apache2/conf/mod_jk.conf

2.下面就是稍稍修改下Tomcat的配置文件server.xml就可以了。在</Host>标记前添加:<Context path="" docBase="/var/wwwroot" reloadable="true" crossContext="true"> </Context> #指定项目目录

配置到此完成。下面测试:

三、测试验收mkdir /var/wwwrootecho "Hello,The time is <%= new java.util.Date() %>" >> /var/wwwroot/index.jsp #新建测试网页

/usr/local/apache2/bin/apachectl start #启动Apache/usr/local/tomcat/bin/startup.sh #启动Tomcat

登录访问: 或者:8080 两者应该是一样的内容。

即 网页上显示当前系统时间:Hello,the time is Tue Feb 26 11:18:04 CST 2013

以上就是Apache、Tomcat集成的简单方法。

——————————————————————假如对并发要求比较高,那么就可以考虑Nginx了。这也是Nginx很火的原因之一,下面就来说说这款轻量级的Web服务器如何和Tomct集成。实验:Nginx+Tomcat一、安装并配置Nginx需要用到的包:nginx-1.0.10.tar.gz #Nginx的源码包pcre-8.10.tar.gz #Nginx依赖的轻量级的函数库

1.基本安装

二、配置相关文件Nginx安装完毕默认的路径为:/usr/local/nginx在/usr/local/nginx/conf下新建一个代理配置文件:vim proxy.conf

怎么能研究出炸药呢?爱迪生不经历上千次的来自失败,怎么能发明电灯呢?

Tomcat一点一滴之(三)整合Apache、Nginx

相关文章:

你感兴趣的文章:

标签云: