apache的作用是什么?

 以前没用过apache,只用Tomcat,但是也能够做我所认为的网网页。但现在使用了apache,我不知道他起什么做用?

 在网上看了说是解析html,那个不是浏览器做的事儿吗?

 数据从浏览器发来只接发送给Tomcat不就行了吗?为什么要经过apache,又不做处理。

 很晕,有前辈能解释一下吗?

http://www.ibm.com/developerworks/cn/java/j-lo-tomcat1/ tomcat 工作原理
http://www.ibm.com/developerworks/cn/java/j-lo-tomcat2/ 设计模式分析

  1. Apache是web服务器,Tomcat是应用(java)服务器,它只是一个servlet容器,是Apache的扩展。

  2. Apache和Tomcat都可以做为独立的web服务器来运行,但是Apache不能解释java程序(jsp,serverlet)。

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

  4. 两者都是一种容器,只不过发布的东西不同:Apache是html容器,功能像IIS一样;Tomcat是jsp/servlet容器,用于发布jsp及java的,类似的有IBM的webshere、EBA的Weblogic,sun的JRun等等。

  5. Apache和Tomcat是独立的,在通一台服务器上可以集成。

打个比方:Apache是一辆卡车,上面可以装一些东西如html等。但是不能装水,要装水必须要有容器(桶),Tomcat就是一个桶(装像Java这样的水),而这个桶也可以不放在卡车上。

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

Apache和Tomcat整合使用:如果客户端请求的是静态页面,则只需要Apache服务器响应请求;如果客户端请求动态页面,则是Tomcat服务器响应请求;因为jsp是服务器端解释代码的,这样整合就可以减少Tomcat的服务开销 。

Apache是世界使用排名第一的Web服务器。它可以运行在几乎所有广泛使用的计算机平台上。

Apache 源于 NCSAhttpd服务器,经过多次修改,成为世界上最流行的Web服务器软件之一。Apache取自“a patchy server”的读音,意思是充满补丁的服务器,因为它是自由软件,所以不断有人来为它开发新的功能、新的特性、修改原来的缺陷。Apache的特点是简单、速度快、性能稳定,并可做代理服务器来使用。Apache对Linux的支持相当完美。

Apache有多种产品,可以支持SSL技术,支持多个虚拟主机。Apache是以进程为基础的结构,进程要比线程消耗更多的系统开支,不太适合于多处理器环境,因此,在一个Apache Web站点扩容时,通常是增加服务器或扩充群集节点而不是增加处理器。到目前为止Apache仍然是世界上用的最多的Web服务器,市场占有率达60%左右。世界上很多著名的网站如Amazon.com、Yahoo!、W3 Consortium、Financial Times等都是Apache的产物,它的成功之处主要在于它的源代码开放、有一支开放的开发队伍、支持跨平台的应用(可以运行在几乎所有的Unix、 Windows、Linux系统平台上)以及它的可移植性等方面。

Apache的诞生极富有戏剧性。当NCSA WWW服务器项目停顿后,那些使用NCSA WWW服务器的人们开始交换他们用于该服务器的补丁程序,他们也很快认识到成立管理这些补丁程序的论坛是必要的。就这样,诞生了Apache Group,后来这个团体在NCSA的基础上创建了Apache。如果你准备选择Web服务器,毫无疑问Apache是你的最佳选择。

Tomcat是一个开放源代码、运行servlet和JSP Web应用软件的基于Java的Web应用软件容器。Tomcat Server是根据servlet和JSP规范进行执行的,因此我们就可以说Tomcat Server也实行了Apache-Jakarta规范且比绝大多数商业应用软件服务器要好。

Tomcat是Java Servlet 2.2和JavaServer Pages 1.1技术的标准实现,是基于Apache许可证下开发的自由软件。Tomcat是完全重写的Servlet API 2.2和JSP 1.1兼容的Servlet/JSP容器。Tomcat使用了JServ的一些代码,特别是Apache服务适配器。随着Catalina Servlet引擎的出现,Tomcat第四版号的性能得到提升,使得它成为一个值得考虑的Servlet/JSP容器,因此目前许多WEB服务器都是采用Tomcat。

**JSP=Java Server Pages (Java服务器网页)
**ASP=Active Server Pages (活动服务器网页)
**CGI=Common Gateway Interface (通用网关接口)
**J2EE=Java 2 Platform, Enterprise Edition (Java2平台,企业版)
**XML=eXtensible Markup Language (扩展标记语言)
**IIS=Internet Information Server (互联网信息服务器)

原文地址:http://profile.8j.com/question/111/59/260.htm

Java 术语 apache 一般指tomcat 服务器 全称 apache-tomcat或者 其基金会

apache安装目录为APACHE_HOME
tomcat安装目录为TOMCAT_HOME (要设到环境变量中)
jdk安装目录为JAVA_HOME(要设到环境变量中)
1.安装apache:(假定安装目录为APACHE_HOME,根据你实际安装自行替换)
废话不多说,安装后修改APACHE_HOME/CONF/httpd.conf 以下6个地方:
1) Port 8080 或者80 随你
2) ServerName localhost
3) DocumentRoot "e:/www" (为了发布方便,不如自己建个目录作为文档根)
4) 把原来的改为

5) 添加index.jsp为缺省的主索引文件

DirectoryIndex index.html index.jsp

6) 这是最关键一步,在httpd.conf最后加上
#tomcat支持
include TOMCAT_HOME/conf/mod_jk.conf-auto
只需要这一句就够了,别听那些白痴的话,加上什么tomcat-apache.conf,那没用.
把mod_jk.dll拷贝进APACHE_HOME/module目录
这会先不管apache了,来设置tomcat3.2
步骤:
把tomcat解压缩,将它真正的目录jarakar-tomcat拷贝到你要的目录名TOMCAT_HOME
修改TOMCAT_HOME下的conf目录中的server.xml
1) 如果你不想看TOMCAT启动信息,这么做:
path="logs/tomcat.log"
verbosityLevel = "INFORMATION"
/>
增加一个PATH="logs/tomcat.log" 就可以了
2) 让tomcat改到8081上,一般来说www服务在80或者8080上:


value="org.apache.tomcat.service.http.HttpConnectionHandler"/>


3)增加APJ13协议支持





就放在原来的APJ12连接器后面就可以了
4)配合APACHE修改文档根目录



5)为了用例子测试,还得改一下EXAMPLES的CONTEXT:
docBase="TOMCAT_HOME/webapps/examples" crossContext="false" >

要使用MOD_JK还得改一下同一目录下的WORKERS.PROPERTIES文件:
1) workers.tomcat_home=TOMCAT_HOME
2) workers.java_home=JAVA_HOME
3) ps= 我爱windows 赫赫
现在ok了,开始启动!
别慌,还有启动顺序问题,注意啊,先启动tomcat让它自己修改一下配置,第一次一定
要先tomcat,以后除非修改tomcat的设置,都可以先启动apache了。
ok 来启动tomcat:运行TOMCAT_HOME/bin下面的startup.bat
看到:Startting tomcat. Check logs/tomcat.log for error messages.那就对了
再来检查tomcat的情况
先随便在e:www里面放个index.jsp文件,内容是

apache就是tomcat吧,他好像就是发明tomcat的公司