nginx tomcat apache的区别
发布时间 - 2019-07-15 00:00:00 点击率:次apache,指的应该是apache软件基金会下的一个项目——apache http server project;
Nginx同样也是一款开源的HTTP服务器软件(当然它也可以作为邮件代理服务器、通用的TCP代理服务器)。
HTTP服务器本质上也是一种应用程序——它通常运行在服务器之上,绑定服务器的IP地址并监听某一个tcp端口来接收并处理HTTP请求,这样客户端(一般来说是IE, Firefox,Chrome这样的浏览器)就能够通过HTTP协议来获取服务器上的网页(HTML格式)、文档(PDF格式)、音频(MP4格式)、视频(MOV格式)等等资源。
Apache Tomcat则是Apache基金会下的另外一个项目,与Apache HTTP Server相比,Tomcat能够动态的生成资源并返回到客户端。
Apache HTTP Server和Nginx都能够将某一个文本文件的内容通过HTTP协议返回到客户端,但是这个文本文件的内容是固定的——也就是说无论何时、任何人访问它得到的内容都是完全相同的,这样的资源我们称之为静态资源。
动态资源则与之相反,在不同的时间、不同的客户端访问得到的内容是不同的。
例如:包含显示当前时间的页面显示当前IP地址的页面Apache HTTP Server和Nginx本身不支持生成动态页面,但它们可以通过其他模块来支持(例如通过Shell、PHP、Python脚本程序来动态生成内容)。
如果想要使用Java程序来动态生成资源内
容,使用这一类HTTP服务器很难做到。
Java Servlet技术以及衍生的Java Server Pages技术可以让Java程序也具有处理HTTP请求并且返回内容(由程序动态控制)的能力,Tomcat正是支持运行Servlet/JSP应用程序的容器(Container);
Tomcat运行在JVM之上,它和HTTP服务器一样,绑定IP地址并监听TCP端口,同时还包含以下指责:
管理Servlet程序的生命周期将URL映射到指定的Servlet进行处理与Servlet程序合作处理HTTP请求——根据HTTP请求生成HttpServletResponse对象并传递给Servlet进行处理,将Servlet中的HttpServletResponse对象生成的内容返回给浏览器。
虽然Tomcat也可以认为是HTTP服务器,但通常它仍然会和Nginx配合在一起使用:
(1)动静态资源分离——运用Nginx的反向代理功能分发请求:所有动态资源的请求交给Tomcat,而静态资源的请求(例如图片、视频、CSS、JavaScript文件等)则直接由Nginx返回到浏览器,这样能大大减轻Tomcat的压力。
(2)负载均衡,当业务压力增大时,可能一个Tomcat的实例不足以处理,那么这时可以启动多个Tomcat实例进行水平扩展,而Nginx的负载均衡功能可以把请求通过算法分发到各个不同的实例进行处理
更多Nginx相关技术文章,请访问Nginx使用教程栏目进行学习!
# nginx
# Python
# Java
# php
# JavaScript
# tomcat
# firefox
# css
# chrome
# html
# jvm
# servlet
# 对象
# 算法
# apache
# http
# 负载均衡
# 客户端
# 绑定
# 代理服务器
# 文本文件
# 应用程序
# 都是
# 是一种
# 多个
# 很难
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
JavaScript数据类型有哪些_如何准确判断一个变量的类型
制作网站软件推荐手机版,如何制作属于自己的手机网站app应用?
Laravel如何部署到服务器_线上部署Laravel项目的完整流程与步骤
Laravel如何使用Laravel Vite编译前端_Laravel10以上版本前端静态资源管理【教程】
车管所网站制作流程,交警当场开简易程序处罚决定书,在交警网站查询不到怎么办?
Win11摄像头无法使用怎么办_Win11相机隐私权限开启教程【详解】
如何用虚拟主机快速搭建网站?详细步骤解析
Laravel观察者模式如何使用_Laravel Model Observer配置
油猴 教程,油猴搜脚本为什么会网页无法显示?
laravel怎么用DB facade执行原生SQL查询_laravel DB facade原生SQL执行方法
Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践
phpredis提高消息队列的实时性方法(推荐)
JavaScript如何实现音频处理_Web Audio API如何工作?
如何使用 jQuery 正确渲染 Instagram 风格的标签列表
google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤
如何在Windows虚拟主机上快速搭建网站?
Laravel Session怎么存储_Laravel Session驱动配置详解
Laravel怎么做数据加密_Laravel内置Crypt门面的加密与解密功能
安克发布新款氮化镓充电宝:体积缩小 30%,支持 200W 输出
Linux系统命令中tree命令详解
如何快速重置建站主机并恢复默认配置?
详解Android中Activity的四大启动模式实验简述
Laravel API资源(Resource)怎么用_格式化Laravel API响应的最佳实践
如何快速搭建高效WAP手机网站吸引移动用户?
浅述节点的创建及常见功能的实现
北京专业网站制作设计师招聘,北京白云观官方网站?
做企业网站制作流程,企业网站制作基本流程有哪些?
如何用美橙互联一键搭建多站合一网站?
Android中AutoCompleteTextView自动提示
Laravel中的Facade(门面)到底是什么原理
手机钓鱼网站怎么制作视频,怎样拦截钓鱼网站。怎么办?
详解jQuery停止动画——stop()方法的使用
如何在香港免费服务器上快速搭建网站?
Android Socket接口实现即时通讯实例代码
如何在 React 中条件性地遍历数组并渲染元素
网站建设整体流程解析,建站其实很容易!
PHP的CURL方法curl_setopt()函数案例介绍(抓取网页,POST数据)
网站设计制作书签怎么做,怎样将网页添加到书签/主页书签/桌面?
JS碰撞运动实现方法详解
魔毅自助建站系统:模板定制与SEO优化一键生成指南
Win11搜索不到蓝牙耳机怎么办 Win11蓝牙驱动更新修复【详解】
活动邀请函制作网站有哪些,活动邀请函文案?
网站建设保证美观性,需要考虑的几点问题!
矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?
Laravel怎么在Blade中安全地输出原始HTML内容
javascript日期怎么处理_如何格式化输出
Laravel如何为API编写文档_Laravel API文档生成与维护方法
哪家制作企业网站好,开办像阿里巴巴那样的网络公司和网站要怎么做?
Laravel怎么使用artisan命令缓存配置和视图
laravel怎么为API路由添加签名中间件保护_laravel API路由签名中间件保护方法

