【Web网站服务器开发】Apache 和 Tomcat的区别及配置

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


apache是web服务器(静态解析,如HTML),tomcatJava应用服务器(动态解析,如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的服务开销




参考推荐:

Tomcat vs Apache

apache 和tomcat的区别

apache和tomcat区别


Ubuntu 配置 Apache

Ubuntu 配置 Tomcat

Tomcat与Apache整合配置指南

转载于:https://www.cnblogs.com/huty/p/8517732.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573060.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java字符生成器_Java实现简单字符生成器代码例子

创建成功的字符串对象,其长度是固定的,内容是不能被修改和编辑。虽然使用""可以达到增加新字符或字符串的目的,但""会产生一个新的String实例,会在内存中创建新的字符串对象。如果重复地对字符串进行修改,将极…

ES基础知识

马克。。。转载于:https://www.cnblogs.com/lirunzhou/p/6012321.html

java nio copy_使用NIO快速复制Java文件

package com.test.test;import java.io.File;import java.io.FileInputStream;import java.io.FileOutputStream;import java.io.IOException;import java.nio.channels.FileChannel;/*** 使用NIO快速复制Java文件** author Administrator**/public class FileCopy {SuppressWa…

2016年10月30日表单标签与样式表分类和选择器

今天上午讲的表单标签 <form name"表单"method"get" action"Untitled-2.html"> <!--get地址栏可以看到值&#xff0c;post不可以--> <input type"text" name"姓名" value"" />姓名 <!--文本…

java jframe 设置背景图片_JFrame如何设置背景图片

代码&#xff1a;import java.awt.FlowLayout;import javax.swing.ImageIcon;import javax.swing.JButton;import javax.swing.JFrame;import javax.swing.JLabel;import javax.swing.JPanel;public class JFrameBackground {private JFrame frame new JFrame("背景图片测…

Linux运维操作

http://www.it165.net/os/html/201204/1909.html https://i.cnblogs.com/EditPosts.aspx?opt1 http://www.it165.net/os/html/201204/1877.html http://blog.chinaunix.net/uid-28718792-id-3556036.html 转载于:https://www.cnblogs.com/diyunpeng/p/6014729.html

java拷贝文件目录结构_Java如何复制目录_Java基础教程系列

Java如何复制目录,Java基础教程系列&#xff0c;如果要将目录及其包含的所有子文件夹和文件从一个位置复制到另一个位置&#xff0c;请使用下面的代码&#xff0c;该代码使用递归遍历目录结构&#xff0c;然后使用Files.copy()函数复制文件。文件夹复制实例在此示例中&#xff…

FABRIC单机开发者模式启动

在开始之前需要导出一个自定义变量&#xff0c;方便后续操作&#xff1a; export FABRIC/opt/gopath/src/github.com/hyperledger/fabric/devenv 1.在真机上执行如下操作&#xff0c;进入虚拟机 cd $FABRIC vagrant up//启动虚拟机 vagrant ssh//进入虚拟机 2.在虚拟机中执行如…

JAVA 开发axis2_基于Apache axis2开发Java Web服务

1.安装配置axis2环境下载好后把axis2-1.4.1-war目录下面的axis2.war发布到tomcat的webapps中。发布好&#xff0c;访问&#xff1a;http://localhost:8079/axis2/ 界面如下&#xff1a;2.开发web服务1)创建一个java web project2)编写服务代码1 public classSampleService {23…

Git小技巧 - 指令别名及使用Beyond Compare作为差异比较工具

前言 本文主要写给使用命令行来操作Git的用户&#xff0c;用于提高Git使用的效率。至于使用命令还是GUI&#xff08;Tortoise Git或VS的Git插件&#xff09;就不在此讨论了&#xff0c;大家根据自己的的喜好选择就好。我个人是比较推荐使用命令行的&#xff0c;因为命令行是原生…

java cache-control_详解浏览器Cache-Control缓存策略

原来用的是 Expires 策略,浏览器可以直接从浏览器缓存读取数据&#xff0c;而无需再次请求&#xff0c;它的值对应一个 GMT&#xff0c;来告诉浏览器资源缓存过期时间&#xff0c;如果还没过该时间点则不发请求。例如下面的例子,这是京东的首页里找的一个,时间都干到 2027 年了…

前端路由和后台路由有什么区别?

区别在于express是服务器端的路由&#xff0c;也就是说需要向后台服务器发送请求&#xff0c;然后服务器来决定来render那个.html&#xff0c;这也就是最早的mvc架构模式&#xff0c;而前端的路由是将这一过程放在浏览器端&#xff0c;也就是前台写js代码控制&#xff0c;不在请…

java 反编译 报错_java反编译后再编译成class时提示缺少包

问题描述我下载了一个对方的Jar程序,可以正常运行,但是我想修改程序里面的一些内容,比如其程序中有一个函数public void setNumTarget(final long numTarget) {this.numTarget numTarget;}我想让其变成类似这样的(当然这只是其中一处想要修改的地方,还有几处稍微复杂点的)publ…

freeCodeCamp:Diff Two Arrays

比较两个数组&#xff0c;然后返回一个新数组&#xff0c;该数组的元素为两个给定数组中所有独有的数组元素。换言之&#xff0c;返回两个数组的差异。 function diff(arr1, arr2) {var newArr [];var newarr1 arr1.filter(function(item){ return arr2.indexOf(item) -1;})…

java多线程并行执行命令_深入理解Java多线程与并发框(第④篇)——重排序、屏障指令、as-if-serial规则...

![](http://img.blog.itpub.net/blog/2020/03/24/906435fda570a5e3.png?x-oss-processstyle/bb)# 一、重排序前篇文章已经讲了Java内存模型和与其三个特性&#xff1a;原子性、可见性、有序性。但事实上&#xff0c;为了提升程序的执行性能&#xff0c;编译器 和 处理器 常常会…

前端必备切图ps篇

前言&#xff1a;当设计师通过photoshop工具设计完设计稿导出psd文件时&#xff0c;我们前端工程师该如何进行切图转换成网页的所需的图片呢&#xff0c;接下来讲讲如何利用photoshop工具快速简洁的切图&#xff0c;因为ps工具用到的行业很多&#xff0c;涉及到的各个行业&…

jquery ajax mysql登录_ajax基础知识、用ajax做登录页面、用ajax验证用户名是否可用、ajax动态调用数据库...

1.ajax的基础知识ajax是结合了jquery、php等几种技术延伸出来的综合运用的技术&#xff0c;不是新的内容。ajax也是写在如果使用ajax一定是要有1个处理页面的&#xff0c;处理页面只是操作数据库并且返回值&#xff0c;页面都是ajax处理的。ajax的写法&#xff1a;test.php1 2 …

jenkins配置记录(2)--代码发布流程

在我们的日常运维工作中&#xff0c;使用jenkins来完成业务代码发版上线是至关重要的一环。前面已经提到在jenkins上添加用户权限的操作&#xff0c;今天重点说下如何在jenkins下构建项目工程进行代码发布&#xff1f; 在此简单介绍下jenkins进行代码发布的流程&#xff08;根据…

ril.java_RIL.java里request流程

Android GSM驱动模块(rild)详细分析(二)request流程熊猫哥哥 发表于IT168和Opendroid 转载请注明1. 多路复用I/O机制的运转上文说到request是接收,是通过ril_event_loop中的多路复用I/O,也对初始化做了分析.现在我们来仔细看看这个机制如何运转.ril_event_set负责配置一个event…

hibernate优化笔记(随时更新)

一:优化配置 1.关联映射的配置:对照之前的博客,如:inverse属性的设置(减少对同一对象的多条update语句):在one端设置为true,只会执行一次update语句 2.级联cascade属性设置:全部或部分设置为级联 如设置为sava-update(级联更新),当进行保存或更新时,会级联保存所有的关联映射的…