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.msi
2、 Tomcat 5.5
下载地址:http://tomcat.apache.org/download-55.cgi
3、 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
#设置虚拟主机
<VirtualHost localhost>
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解析
</VirtualHost>
#开头的行为注释,可以删除。此处的配置我是以设置虚拟目录,重新指定了serverName,DocumentRoot路径的方式配置站点,实际上,Apache的配置可以非常灵活,你也可以不采用虚拟目录的方式,而直接去修改站点的默认配置,使用任意文本编辑工具,搜索如ServerName,DocumentRoot,ServerAdmin等相关项,然后将该项的配置根据你的实际情况进行修改即可。我建议大家可以多多尝试不同的配置,这是一种很有乐趣的体验。
所有的修改完成这后,再次执行d:\Apache\Apache2\bin\Apache.exe -t 如果看到"Syntax OK",说明你所有配置无误,双击窗口的托盘中的图标,然后点击Start运行。
在地址栏中分别输入http://localhost/,与http://localhost:8080/若结果相同,Apache与Tomcat整合成功
http://www.cjsdn.net/post/view?bid=11&id=172565&sty=1&tpg=1&age=0
分享到:
相关推荐
这是作者用了一周时间研究出来的,里面包含了Apache的安装程序,tomcat免安装版以及文档说明,只要按照文档说宁一步步就做,就能轻松实现。在网上找个很多关于这方面的文章,但天下文章一大抄,基本都是雷同的,很...
解决方法见:http://stackoverflow.com/questions/26893297/tomcat-8-throwing-org-apache-catalina-webresources-cache-getresource-unable-to 尊重他人成果, 转载于http://www.jmatrix.org/day/1186.html
Apache和Tomcat是两种常用的Web服务器,Apache主要处理静态页面,而Tomcat是Java Servlet和JSP的容器,主要用于处理动态内容。在某些场景下,为了整合两者的优点,我们会利用Apache的`mod_proxy_ajp`模块来实现...
近一段时间在学习Web Service,呼必斯哈拉图--写的"Apache AXIS 开发 Web Services Step By Step"非常的详细,网上也存在很多不通的转载版本,很多人都说不行。我经过多次试验,总结出错误的原因有以下几个: ...
Apache Tomcat 7 英文无水印pdf pdf所有页面使用FoxitReader和PDF-XChangeViewer测试都可以打开 本资源转载自网络,如有侵权,请联系上传者或csdn删除 本资源转载自网络,如有侵权,请联系上传者或csdn删除
- 配置AJP connector端口:`<Connector className="org.apache.ajp.tomcat4.Ajp13Connector" port="11009" ... />` - 添加会话管理器:`<Valve className="org.apache.catalina.session.ReplicationValve" filter=...
Apache Tomcat是一款开源的Java Servlet容器,用于部署和运行Java Web应用程序。它的源代码是公开的,这使得开发者能够深入理解其内部工作原理,优化性能,或者为它添加自定义功能。以下是对Tomcat源码及其分析的...
Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。由于有了Sun 的参与和支持,最新的Servlet 和JSP 规范总是能在Tomcat ...
Tomcat,作为Apache软件基金会的一个开源项目,是世界上最流行的Java应用服务器之一,主要用于运行Servlet和JSP应用。本资源集合包含了Tomcat 7、8和9的不同版本,旨在为开发者提供一个全面的学习和实践平台。以下是...
2. 安装Tomcat:从Apache Tomcat官网获取Tomcat的安装包,按照指南进行安装,设置好CATALINA_HOME环境变量。 3. 配置Red5与Tomcat:将Red5的webapps目录下的所有内容复制到Tomcat的webapps目录下,这样Red5的Web...
- **Tomcat**: Apache Tomcat是运行Java Web应用程序的标准容器。 - **Tomcat会话复制库**: 用于实现Tomcat之间的会话共享,以支持集群环境中的高可用性和负载均衡。 #### 2. 安装 ##### 2.1 第一个Tomcat - 使用...
JK2 是 Apache 服务器与 Tomcat 之间通信的桥梁,用于实现负载均衡等功能。安装步骤可以参考文章《Linux 下安装支持 JSP/PHP 的 WEB server》。 #### 4. 配置 配置是构建 Tomcat 集群的关键步骤之一。 ##### 4.1 ...
Apache与tomcat的区别,我稍微提一下,Apache是web服务器,而Tomcat是Apache与Java sun公司的产品,Tomcat是java中selvert的容器,所以最大使用区别是,tomcat的java应用程序的服务器,使用tomcat需要搭建java开发...
2.JFreeChartDemo下的demo部署在apache-tomcat-6.0.32下调试通过。 3.官方的API需要收费的,文档中包含的API来源于互联网。可能包含错误,请注意。 4.转载请保留此说明。如有疑问请发邮件至2543683150@qq.com
环境变量的配置包括新建一个名为“CATALINA_HOME”的环境变量,其值为Tomcat的安装路径(例如C:\develop\Tomcat\apache-tomcat-8.5.47)。然后在系统变量的“Path”中新建一条路径,添加“%CATALINA_HOME%\bin”。...
Tomcat作为Apache软件基金会的开源项目,是目前广泛使用的Java应用服务器之一。它能够提供基于Java的Web应用环境,支持Servlet和JSP(Java Server Pages)运行。本文主要讲解了如何在Tomcat中配置多端口域名访问,...
Apache Tomcat 8支持Java EE 7规范,包括Java Servlet 3.1、JSP 2.3、Java统一表达式语言EL 3.0等。Servlet 3.1最大的改进是实现了非阻塞式的I/O通信。这使得性能得到巨大的改进,数据可以通过ReadListener和...
at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Thread.java:662) 网络解决办法: (虽然该办法可行,但是本人并不提倡。具体原因在之后解释。) 在...
1. Tomcat:对于Java Web应用,Tomcat是一个轻量级、开源的应用服务器,支持Servlet和JSP。它简单易用,适合小型项目,也可以通过集群技术应对大流量。 2. Jetty:另一款轻量级Java应用服务器,Jetty具有快速、...
此外,还可能推荐了一些常用的集群和负载均衡工具,如Nginx、Apache HTTP Server、HAProxy,以及Java EE应用服务器如Tomcat、WebLogic、JBoss等的集群配置方法。 总之,这篇“Clustering经典范文学习”为读者提供了...