这里是修真院后端小课堂,每篇分享文从
【背景介绍】【知识剖析】【常见问题】【解决方案】【编码实战】【扩展思考】【更多讨论】【参考文献】
八个方面深度解析后端知识/技能,本篇分享的是:
【Nginx是什么?】
大家好,我是IT修真院上海分院第八期学员,一枚正直纯洁善良的JAVA程序员。 今天给大家分享一下,修真院官网JAVA任务三,扩展思考中的知识点——Nginx是什么?
1 背景介绍
1.1 web服务器 Nginx 的竞争对手—Apache、Lighttpd、Tomcat、 Jetty、IIS,它们都是 Web 服务器,或者叫做 WWW(World Wide Web)服务器,相应地 也都具备 Web 服务器的基本功能 :基于 REST 架构风格 ,以统一资源描述符(Uniform Resource Identifier,URI)或者统一资源定位符(Uniform Resource Locator,URL)作为沟 通依据,通过 HTTP 为浏览器等客户端程序提供各种网络服务。然而,由于这些 Web 服务器 在设计阶段就受到许多局限,例如当时的互联网用户规模、网络带宽、产品特点等局限,并 且各自的定位与发展方向都不尽相同,使得每一款 Web 服务器的特点与应用场合都很鲜明。 对比: 1.2 web服务器对比 Tomcat 和 Jetty 面向 Java 语言,先天就是重量级的 Web 服务器,它的性能与 Nginx 没 有可比性,这里略过。
IIS 只能在 Windows 操作系统上运行。Windows 作为服务器在稳定性与其他一些性能上 都不如类 UNIX 操作系统,因此,在需要高性能 Web 服务器的场合下, IIS 可能会被“冷落”。
Apache 的发展时期很长,而且是目前毫无争议的世界第一大 Web 服务器。Apache 有许多优点,如稳定、开源、跨平台等,但它出现的时间太长了,在它兴起的 年代,互联网的产业规模远远比不上今天,所以它被设计成了一个重量级的、不支持高并发 的 Web 服务器。在 Apache 服务器上,如果有数以万计的并发 HTTP 请求同时访问,就会导 致服务器上消耗大量内存,操作系统内核对成百上千的 Apache 进程做进程间切换也会消耗 大量 CPU 资源,并导致 HTTP 请求的平均响应速度降低,这些都决定了 Apache 不可能成为高性能 Web 服务器,这也促使了 Lighttpd 和 Nginx 的出现。
Lighttpd 和 Nginx 一样,都是轻量级、高性能的 Web 服务器,欧美的业界开发者比较钟 爱 Lighttpd,而国内的公司更青睐 Nginx,Lighttpd 使用得比较少。
1.3 为什么选择 Nginx? (1)更快 (2)高扩展性 (3)高可靠性 (4)低内存消耗 (5)单机支持 10 万以上的并发连接 (6)热部署 (7)最自由的 BSD 许可协议
2 知识剖析
-
反向代理
-
动静分离
-
负载均衡
-
</li>
反向代理: 反向代理(reverse proxy)方式是指用代理服务器来接受Internet上的连接请求,然后将请求转发给内部网络中的上游服务器,并将从上游服务器上得到的结果返回给Internet上请求连接的客户端,此时代理服务器对外的表现就是一个Web 服务器。充当反向代理服务器也是Nginx的一种常见用法(反向代理服务器必须能够处理大量并发请求)。 动静分离 由于Nginx 具有“强悍”的高并发高负载能力,因此一般会作为前端的服务器直接向客户端提供静态文件服务,用Apache、Tomcat等服务器来处理动态资源,实现动静分离。 负载均衡 作为代理服务器,一般都需要向上游服务器的集群转发请求。这里的负载均衡是指选择一种策略,尽量把请求平均地分布到每一台上游服务器上。
3 常见问题
怎么降低上游服务器的负载?
4 解决方案
使用Nginx的反向代理可以降低上游服务器的并发压力。
5 编码实战
准备工作: 本地配置两个Tomcat1(端口8080)和Tomcat2(端口8081) 创建test文件,打包成test.war包,添加至Tomcat1(端口8080)和Tomcat2(端口8081)的weapps目录下,运行Tomcat
6 扩展思考
(1)Nginx正向代理和反向代理 (2)Nginx中的upstream轮询机制 (3)Nginx如何实现高并发?
7 参考文献
《深入理解Nginx:模块开发与架构解析》陶辉 著
8 更多讨论
更多内容,可以加入IT交流群565734203与大家一起讨论交流
这里是技能树·IT修真院:,初学者转行到互联网的聚集地
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。