apachetomcat(Apache下载)

更新时间:2025-07-18  版本:v0718

如何整合Apache与Tomcat

我自己试了一下,把具体过程记录下来,以备今后查看。

1.安装Apache Http Server、Tomcat、Tomcat Connector(JK Module)

apachetomcat(Apache下载)

Apache Httpd:从网上下载Apache Http Server 2.2.15的安装版(貌似没有免安装压缩版)。安装时可以选择将其安装为系统服务或者每次手动启动。我只是测试,所以选择了后者,但后者默认将会监听8080端口,注意不要与Tomcat默认的8080端口冲突了。这一项可以稍后在配置文件中修改。

Tomcat:可以选择免安装压缩版(我用的是6.0.18版),很方便,可以注册为系统服务。

JK Module:从http//tomcat apache org/download-connectors cgi找到binary下载,下载目前最新版1.2.30文件mod_jk-1.2.30-httpd-2.2.3.so,将其改名为mod_jk.so,置于Apache Http Server安装目录下的modules目录中。

2.新建workers.properties文件

这个worker.properties可以置于任何目录下,我把它直接放在了Apache Http Server的安装目录下。

apachetomcat(Apache下载)

#为mod_jk模块指明Tomcat的安装路径

workers.tomcat_home=D:/DevSoft/apache-tomcat-6.0.18

#为mod_jk模块指明JDK的安装路径

workers.java_home=C:/Program Files/Java/jdk1.6.0_20

#添加一个worker到worker列表

worker.list=worker1

#为worker1设定各个参数

#工作端口,Tomcat的默认Connector监听端口,可以查看Tomcat的Server.xml中有port="8009"

worker.worker1.port=8009

# Tomcat所在机器,如果安装在与apache不同的机器则需要设置IP

worker.worker1.host=localhost

# worker的类型,允许的值为ajp13、ajp14、lb、status等;ajp13是mod_jk连接WebServer和Tomcat的首选方式(即使用socket作为通信渠道)

worker.worker1.type=ajp13

#负载平衡因子

worker.worker1.lbfactor=1

注:worker.list中worker的名字应该是对应到Apache Http Server的httpd.conf配置文件中的JkMount的(后面详述)。

3.修改Apache Http Server的httpd.conf配置文件

修改Apache Http Server安装目录下的conf目录下的httpd.conf文件:

#载入mod_jk模块,注意模块文件的路径

LoadModule jk_module modules/mod_jk.so

#声明workers.properties文件的位置

JkWorkersFile"C:/Program Files/Apache Software Foundation/Apache2.2/workers.properties"

#声明mod_jk的日志文件位置

JkLogFile"C:/Program Files/Apache Software Foundation/Apache2.2/logs/mod_jk.log"

#声明mod_jk的日志级别(可选)

JkLogLevel info

#声明mod_jk的日志的时间戳格式(可选)

JkLogStampFormat"[%a%b%d%H:%M:%S%Y]"

#将/*.action和/*.jsp类型的请求都分配给Tomcat,其余类型的有Apache Http Server自己处理

#注意JkMount后面的worker1即对应worker.properties文件中worker.list里的worker的名称

JkMount/*.action worker1

JkMount/*.jsp worker1

4.修改DirectoryRoot

网上的文章大多只写到上面就结束了,动态的内容交给Tomcat之一步算是完成了,但静态内容的分配还需接着设置httpd.conf文件。

查找到DocumentRoot"C:/Program Files/Apache Software Foundation/Apache2.2/htdocs"这一行,并将其值替换为Web应用的路径:

DocumentRoot"D:/DevSoft/apache-tomcat-6.0.18/webapps"

查找到<Directory"C:/Program Files/Apache Software Foundation/Apache2.2/htdocs">这一行,并将其值替换为Web应用的路径:

<Directory"D:/DevSoft/apache-tomcat-6.0.18/webapps">

至此,动态内容和静态内容的请求分配,才基本完成。

Apache和Tomcat的区别

Apache和 Tomcat都是web网络服务器,两者既有联系又有区别,在进行HTML、PHP、JSP、Perl等开发过程中,需要准确掌握其各自特点,选择最佳的服务器配置。

Apache是web服务器(静态解析,如HTML),tomcat是java应用服务器(动态解析,如JSP、PHP)

Tomcat只是一个servlet(jsp也翻译成servlet)容器,可以认为是apache的扩展,但是可以独立于apache运行

两者从以下几点可以比较的:

1、两者都是apache组织开发的

2、两者都有HTTP服务的功能

3、两者都是开源免费的

联系

1)Apache是普通服务器,本身只支持html即普通网页,可以通过插件支持php,还可以与Tomcat连通(Apache单向连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然)。

2)Apache只支持静态网页,但像asp、jsp、php、cgi等动态网页就需要Tomcat来处理。

3)Apache和Tomcat整合使用:

如果客户端请求的是静态页面,则只需要Apache服务器响应请求;

如果客户端请求动态页面,则是Tomcat服务器响应请求,将解析的JSP等网页代码解析后回传给Apache服务器,再经Apache返回给浏览器端。

这是因为jsp是服务器端解释代码的,Tomcat只做动态代码解析,Apache回传解析好的静态代码,Apache+Tomcat这样整合就可以减少Tomcat的服务开销。

4)Apache和Tomcat是独立的,在同一台服务器上可以集成。

区别

Apache是有C语言实现的,支持各种特性和模块从而来扩展核心功能;Tomcat是Java编写的,更好的支持Servlet和JSP。

1、Apache是Web服务器,Web服务器传送(serves)页面使浏览器可以浏览,Web服务器专门处理HTTP请求(request),但是应用程序服务器是通过很多协议来为应用程序提供(serves)商业逻辑(business logic)。

Tomcat是运行在Apache上的应用服务器,应用程序服务器提供的是客户端应用程序可以调用(call)的方法(methods)。它只是一个servlet(jsp也翻译成servlet)容器,可以认为是Apache的扩展,但是可以独立于apache运行。

2、Apache是普通服务器,本身只支持html静态普通网页。不过可以通过插件支持PHP,还可以与Tomcat连通(单向Apache连接Tomcat,就是说通过Apache可以访问Tomcat资源,反之不然),Tomcat是jsp/servlet容器,同时也支持HTML、JSP、ASP、PHP、CGI等,其中CGI需要一些手动调试,不过很容易的。

3、Apache侧重于http server,Tomcat侧重于servlet引擎,如果以standalone方式运行,功能上Tomcat与apache等效支持JSP,但对静态网页不太理想。

4、Apache可以运行一年不重启,稳定性非常好,而Tomcat则不见得。

5、首选web服务器是Apache,但Apache解析不了的jsp、servlet才用tomcat。

6、Apache是很最开始的页面解析服务,tomcat是后研发出来的,从本质上来说tomcat的功能完全可以替代Apache,但Apache毕竟是tomcat的前辈级人物,并且市场上也有不少人还在用Apache,所以Apache还会继续存在,不会被取代,apache不能解析java的东西,但解析html速度快。

两者例子:

Apache是一辆车,上面可以装一些东西如html等,但是不能装水,要装水必须要有容器(桶),而这个桶也可以不放在卡车上,那这个桶就是TOMCAT。

两者整合:

Apache是一个web服务器环境程序,启用他可以作为web服务器使用不过只支持静态网页,不支持动态网页,如asp、jsp、php、cgi

如果要在Apache环境下运行jsp就需要一个解释器来执行jsp网页,而这个jsp解释器就是Tomcat

那为什么还要JDK呢?因为jsp需要连接数据库的话就要jdk来提供连接数据库的驱程,所以要运行jsp的web服务器平台就需要APACHE+TOMCAT+JDK

整合的好处:

如果客户端请求的是静态页面,则只需要Apache服务器响应请求

如果客户端请求动态页面,则是Tomcat服务器响应请求

因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销

电脑无论打开什么网站都显示apache tomcat/6.0.37

这是DNS出问题了。

解决措施:

1、打开网络邻居后,打到本地连接,右键,属性,如图

2、打到ipv4选项,双击,如图

3、点击手动设置DNS单选框,在下面填入8.8.8.8,如图

4、然后,找到本地连接,先停用,再启用下就行了,如图

5、设置好后,点确定,重新访问网页,就发现可以访问了。

DNS是指:域名系统,在Internet上域名与IP地址之间是一一对应的,域名虽然便于人们记忆,但机器之间只能互相认识IP地址,它们之间的转换工作称为域名解析,域名解析需要由专门的域名解析系统来完成,DNS就是进行域名解析的系统。