|
Posted on 2007-08-12 11:11 ricki 阅读(384) 评论(0) 编辑 收藏 所属分类: 负载均衡配置
Apache和Tomcat同是Apache基金会下面的两个项目。一个是HTTP WEB服务器,另一个是servlet容器(servlet container),最新的5.5.X系列实现Servlet 2.4/JSP 2.0Spec。在我们生产的环境中,往往需要Apache做前端服务器,Tomcat做后端服务器。此时我们就需要一个连接器,这个连接器的作用就是把 所有Servlet/JSP的请求转给Tomcat来处理。在Apache2.2之前,一般有两个组件可选择。mod_jk和mod_jk2。后来 mod_jk2没更新了,转而更新mod_jk,所以现在一般都使用mod_jk做Apache和Tomcat的连接器。要指出的是mod_jk支持 Apache 1.x和2.X系列。 不过,自从Apache2.2出来后,你又多了种选择,那就是proxy-ajp.大家知道Apache里的proxy模块,可以实现双向代理功能,功能 非常强大。其实从连接器的实现原理上来说,用proxy模块来实现是非常自然的。proxy模块的功能无非就是把相关的请求发给特定的主机再返回结果。那 连接器的功能需求就是要把所有对Servlet/JSP的请求都转给后台的Tomcat。而且所FreeBSD邮件列表上说,使用proxy-ajp要比 mod_jk的效率要高。就我一个外行来看,至少使用Apache自带模块,要比另外编译的来得可靠。
apache2.2和tomcat5.5是一个不错的组合,可以作为开发环境或者是工作服务器。在配置前需要下载以下几个文件: 1.下载JDK http://192.18.108.228/ECom/EComTicketServlet/BEGIN7CF7E6A4BCB54064E5D90FCCE00D7048/-2147483648/1579524843/1/732086/731822/1579524843/2ts+/westCoastFSEND/jdk-1.5.0_07-oth-JPR/jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe2.下载apache2.2 http://mirror.vmmatrix.net/apache/httpd/binaries/win32/apache_2.2.2-win32-x86-no_ssl.msi3.下载tomcat5.5.17 http://apache.justdn.org/tomcat/tomcat-5/v5.5.17/bin/apache-tomcat-5.5.17.exe一、安装和配置JDK 下载下来后,直接执行jdk-1.5.0_07-oth-JPR:2/jdk-1_5_0_07-windows-i586-p.exe 实装时建议选择简单的路径,如E:\Web_Server\jdk1.5.0\ 安装最后会要求安装jre,继续下一步就行,安装路径E:\Web_Server\jre1.5.0\。
装完后添加或编缉三个系统变量(已经有就编缉,没有就新建): 在PATH变量尾加在";E:\Web_Server\jdk1.5.0\bin\" (注意有个分号) 新建Web_Server_HOME变量,值为 "E:\Web_Server\jdk1.5.0\" 新建CLASSPATH变量,值为 "E:\Web_Server\jdk1.5.0\lib\tools.jar"
二、安装和测试apache 在安装前如已安装了IIS,请先停止IIS服务。因为IIS和apache都默认使用80端口,否则会冲突。 同样直接运行安装apache_2.2.2-win32-x86-no_ssl.msi,建议选择简单的路径,如E:\Web_Server\ apache2.2\。安装时会要求输入一些关于这台服务器的信息,如域名、管理员邮箱,这些信息将会加入到httpd.conf文件中。
安装完配置httpd.conf文件,在E:\Web_Server\apache2.2\conf\下 用文本编缉器打开httpd.conf,在DirectoryIndex index.html后添加index.jsp
测试,在IE中输入http://localhost/,如果apache工作应该可以看到"It works!"这样的页面。
三、安装和测试tomcat 直接运行安装tomcat,安装路径为E:\Web_Server\tomcat5.5\ 安装完,好像步骤一,添加一个系统变量TOMCAT_HOME,变量值为"E:\Web_Server\tomcat5.5\" 最后测试tomcat,因为tomcat默认使用了8080端口,所以在IE输入http://localhost:8080,正常工作会看见一只小猫的页面。
四。整合apache和tomcat 网上很多是通过mod_jk来整合的,由于apache2.2本身已经支持tomcat了,所以这里用proxy来整合tomcat,先把apache和tomcat都停止了。然后打开httpd.conf文件,把 LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_ajp_module modules/mod_proxy_ajp.so 前面的#号去掉,在文件最后添加 ProxyPass /images/ ! ProxyPass / ajp://127.0.0.1:8009/ ProxyPassReverse / ajp://127.0.0.1:8009/ 上面几名只是对apache进行简单的优化。
五、最后测试整合后的apache+tomcat 启动apache,再启动tomcat,准备以下代码的jsp文件,以便测试。 <%@ page contentType="text/html;charset=gb2312" %> <HTML> <HEAD> <TITLE>JSP测试页面</TITLE> </HEAD> <BODY> <%out.println("<h1>Hello World! </h1>");%> </BODY> </HTML> 保存为test.jsp 在E:\Web_Server\tomcat5.5\webapps\ROOT\下新建一个文件夹myjsp,并把test.jsp放在里面。 在IE中输入http://localhost:8080/myjsp/test.jsp 再输入http://localhost/myjsp/test.jsp 如果两次都显示Hello World!说明已经成功整合了。
============================ 方法之二: Windows环境下的tomcat + apache配置(绝对实践操作版) 关键词: tomcat apache
Apache的HTTPD是目前比较受欢迎的网站服务器软件,它不但功能强大,而且完全免费,并且支持市场上流行的各种操作系统(Windows, Linux,Mac os)。同时对于Java Servlet/JSP的支持,通常也会使用同样Apache出品的Tomcat。 Tomcat除了支持Java Servlet/JSP之外,也可以当做网站服务器使用,但是在对于静态的html文件、图片文件等的解析效率上不如Apache HTTPD的执行效率高。应用tomcat的服务器如果网站的访问量较大,系统资源占用会明显升高,近日笔者在项目执行过程中遇到这一问题,便也想到同时 应用tomcat+apache服务。Apache负责静态资源处理,tomcat负责jsp和java servlet等动态资源的处理。在网上看了不少介绍Apache和Tomcat集成的帖子。大多为互相转贴,有几个关键问题没有讲清楚,并且多数文章讲 解中所举的软件版本都已经比较老旧。因而笔者总结自己实际操作的经验,希望对大家有所帮助。
准备工作: 1、 apache 2.0.55 下载地址:http://apache.justdn.org/httpd/binaries/win32/apache_2.0.55-win32-x86-no_ssl.msi2、 Tomcat 5.5 下载地址:http://tomcat.apache.org/download-55.cgi3、 JRE1.5.0 update6 下载地址:http://java.sun.com/j2se/1.5.0/download.jsp你也可以选择安装JDK,JDK不仅包含了运行java应用程序的支持,同时也包含J2SE的开发包。但如果您只是应用的话,我建议您仅下载JRE即可,为什么?因为它小啊:) 4、JK-apache-2.0.55 下载地址: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/win32/jk-1.2.15/mod_jk-apache-2.0.55.so 注意jk的版本一定要与你的apache版本相同。Jk下载可以直接到apache.org官网下载,有多种版本,适用于各种操作系统,地址如下: http://www.apache.org/dist/tomcat/tomcat-connectors/jk/binaries/windows用户进入win32目录,不同的tomcat对应不同jk文件扩展名不同,有可能是*.dll,或者*.so,根据你的tomcat版本下载合适的jk版本。
安装,软件的安装顺序可以适当调整,但是jre(jdk)一定要在tomcat之前安装: 1、安装JRE(JDK) 此处选择默认安装即可,(旧版本的JDK安装完之后需要设置系统的环境变量,JRE和JDK1.5.0以后版本不设置也没关系。)安装完成之后你可以选择按照下面的示例设置你的系统环境变量:我的电脑->右键属性->常规->高级->环境变量 JAVA_HOME = d:\Java\jre1.5.0_06 CLASSPATH = .;d:\Java\jre1.5.0_06\lib\dt.jar;d:\Java\jre1.5.0_06\lib\tools.jar PATH = d:\Java\jre1.5.0_06\bin 注意文件路径要改成你实际安装的路径。
2、Apache安装 此处注意,如果你本机已经装了iis并且占用80端口,务必先在服务中将iis停止或禁用。软件默认安装即可。安装过程中设置Network Domain和Server Name为localhost,设置你的email地址,下方会让你选择only for the current user或for all users。默认选择for all users。这样Apache就会占用80端口,并且做为一个系统服务开机自运行。 安装完成之后,你在浏览器中输入http://localhost, 将会看到Apache的成功页面.Apache的主目录是d:\Apache\Apache2,此时Apache,已经运行,你可以在窗口的托盘看到他的 图标,双击图标,在弹开的窗口选择"Open Apache Monitor",点Stop,停止Apaceh服务,因为下面要安装Tomcat和JK.
3、Tomcat安装 选择安装目录为了d:\Tomcat,其余为默认安装.成功后在浏览器中输入http://localhost:8080,出现Tomcat页面表示安装成功了。关于tomcat的设置已经有很多非常详细的文章,在此就不再详述了。
4、JK的安装 把mod_jk_2.0.55.so拷贝到d:\Apache\Apache2\modules\下.
以上安装全部完成后,打开cmd命令提示符,运行d:\Apache\Apache2\bin\Apache.exe -t 你将会看到"Syntax OK",表示Apache配置正常.这个命令非常有用,下面在继续配置Apache的时候还会再次用到。
配置服务器:
1、配置Tomcat 查找目录下的conf/workers.properties文件,并对比下方文本内容,如有不同以下方内容为准修改。 workers.tomcat_home=d:\Tomcat #让mod_jk模块知道Tomcat的位置 workers.java_home=d:\Java\jre1.5.0_06 #让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 #代理数,不用修改
如果文件不存在则创建。并填充上述内容。
2、配置Apache 打开d:\Apache\Apache2\conf下的httpd.conf,在最后加入下面这段代码并保存。 #设置Apache与Tomcat之间的连接,让Apache遇到jsp文件时,在后台将其交由Tomcat去处理 LoadModule jk_module modules/mod_jk_2.0.55.so #此处mod_jk的文件为你下载的文件 JkWorkersFile "d:/Tomcat/conf/workers.properties" #指定tomcat监听配置文件地址 JkLogFile "d:/Tomcat/logs/mod_jk2.log" #指定日志存放位置 JkLogLevel info
#设置虚拟主机
ServerAdmin localhost DocumentRoot d:/test1 #您的站点项目所在路径,应与tomcat中的目录设置相同 ServerName localhost DirectoryIndex index.html index.htm index.jsp ErrorLog logs/shsc-error_log.txt CustomLog logs/shsc-access_log.txt common JkMount /servlet/* ajp13 #让Apache支持对servlet传送,用以Tomcat解析 JkMount /*.jsp ajp13 #让Apache支持对jsp传送,用以Tomcat解析 JkMount /*.do ajp13 #让Apache支持对.do传送,用以Tomcat解析
#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上, Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如ServerName, DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一 种很有乐趣的体验。 所有的修改完成这后,再次执行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。 在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
|