经常在用apache和tomcat等这些服务器,可是总感觉还是不清楚他们之间有什么关系,在用tomcat的时候总出现apache,总感到迷惑,到底谁是主谁是次,因此特意在网上查询了一些这方面的资料,总结了一下
一、相同点:
1 ) Apache与Tomcat都是Apache开源组织开发的
2 ) 用于处理HTTP服务的项目
3 ) 两者都是免费的,都可以做为独立的Web服务器运行。
二、不同点:
1 ) Apache是Web服务器而Tomcat是Java应用服务器。
2 ) Apache服务器 只处理 静态HTML,
3 )tomcat服务器 静态HTML 动态 JSP Servlet 都能处理。
一般是把 Apache服务器 与 tomcat服务器 搭配在一起用,Apache服务器 负责处理所有 静态的 页面/图片 等信息,Tomcat 只处理动态的部分。
4 ) Apache:是C语言实现的,专门用来提供HTTP服务。
特性:简单、速度快、性能稳定、可配置(代理)
1、主要用于解析静态文本,并发性能高,侧重于HTTP服务;
2、支持静态页(HTML),不支持动态请求如:CGI、Servlet/JSP、PHP、ASP等;
3、具有很强的可扩展性,可以通过插件支持PHP,还可以单向Apache连接Tomcat实现连通;
4、Apache是世界使用排名第一的Web服务器。
5 ) Tomcat:是Java开发的一个符合JavaEE的Servlet规范的JSP服务器(Servlet容器),是Apache的扩展。
特性:免费的Java应用服务器
1、主要用于解析JSP/Servlet,侧重于Servlet引擎;
2、支持静态页,但效率没有Apache高;支持Servlet、JSP请求;
3、Tomcat本身也内置了一个HTTP服务器用于支持静态内容,可以通过Tomcat的配置管理工具实现与Apache整合。
三 、 Apache + Tomcat整合后优点:
如果请求是静态网页则由Apache处理,并将结果返回;如果是动态请求,Apache会将解析工作转发给Tomcat处理,Tomcat处理后将结果通过Apache返回。这样可以达到分工合作,实现负载远衡,提高系统的性能。
apache是web服务器,tomcat是应用(java)服务器,它只是一个servlet容器,可以认为是apache的扩展,也可以独立于apache运行。
四 、扩展:一般创业初期的公司都采用LAMP搭建平台
LAMP指的Linux(操作系统)、ApacheHTTP 服务器,MySQL(有时也指MariaDB,数据库软件) 和PHP(有时也是指Perl或Python) 的第一个字母,一般用来建立web应用平台。
虽然这些开放源代码程序本身并不是专门设计成同另几个程序一起工作的,但由于它们的免费和开源,这个组合开始流行(大多数Linux发行版本捆绑了这些软件)。当一起使用的时候,它们表现的像一个具有活力的解决方案包。