Apache服务器很有名,但是它对高并发的重量级支持并不好,于是轻量级高并发服务器Nginx应运而生。Nginx是什么,能做什么。这篇文章会帮助你理解。
Nginx的产生
Apache发展了很久,是世界上无可争议的最大服务器。它有很多优点:稳定、开源、跨平台等等。早就有了,互联网行业远不如现在。所以被设计成重量级。它不支持高度并发的服务器。在Apache上运行数万个并发访问会导致服务器消耗大量内存。操作系统在进程或线程之间切换,也消耗了大量的CPU资源,导致HTTP请求的平均响应速度下降。这些都决定了Apache不可能是高性能的WEB服务器,轻量级高并发服务器Nginx应运而生。
Nginx,专门针对这些特性,火了:
Nginx使用基于事件驱动架构,使得其可以支持数以百万级别的TCP连接高度的模块化和自由软件许可证是的第三方模块层出不穷(这是个开源的时代啊~)Nginx是一个跨平台服务器,可以运行在Linux,Windows,FreeBSD,Solaris, AIX,Mac OS等操作系统上这些优秀的设计带来的极大的稳定性
哪里可以使用Nginx
Nginx是一款免费、开源、高性能的HTTP服务器和反向代理服务器。也是IMAP,POP3,SMTP代理服务器。Nginx可以作为发布网站的HTTP服务器,Nginx可以作为负载均衡的反向代理。
转发代理
前向代理“它代表客户端”,是位于客户端和源服务器之间的服务器。为了从源服务器获得内容,客户端向代理发送请求并指定目标(源服务器),然后代理将请求转发给源服务器,并将获得的内容返回给客户端。客户端在使用转发代理之前必须进行一些特殊设置。
转发代理的使用:
(1)访问以前无法访问的资源,如谷歌
(2)它可以被缓存以加速对资源的访问
(3)授权客户端访问和验证互联网
(4)代理可以记录用户访问记录(在线行为管理)并对外隐藏用户信息
反向代理
多个客户端向服务器发送的请求由Nginx服务器接收,并按照一定的规则分发到后端业务处理服务器进行处理。在这一点上,请求的来源,也就是客户端是清楚的,但是不清楚哪个服务器会处理请求,Nginx扮演的是反向代理的角色。
客户端没有感知代理,反向代理对外透明,所以访客不知道自己是在访问代理。因为客户端无需任何配置就可以访问。反向代理,“它代表服务器”,主要用于服务器集群的分布式部署,它隐藏了服务器的信息。
反向代理的角色:
(1)为了保证内网的安全,通常使用反向代理作为公网接入地址,Web服务器就是内网
(2)负载均衡,通过反向代理服务器优化网站的负载
负载均衡
我们已经定义了所谓代理服务器的概念。然后,Nginx扮演反向代理服务器的角色。它根据什么规则分发请求?对于不同的项目应用场景,是否可以控制分配规则?
这里所说的客户端发送的请求数和Nginx反向代理服务器接收的请求数,就是我们所说的负载。
请求数量按照一定的规则分配到不同的服务器进行处理的规则是一种平衡规则。因此,根据规则分发服务器收到的请求的过程称为负载平衡。
负载均衡在实际的项目运营过程中,有硬件负载均衡和软件负载均衡两种。硬件负载均衡也叫硬负载。比如F5负载均衡比较贵,成本也比较高,但是数据的稳定性和安全性都有很好的保证。像中国移动、中国联通这样的公司会选择硬负荷运营;考虑到成本,更多的公司会选择使用软件负载均衡,这是一种利用现有技术和主机硬件实现的消息队列分发机制。
总结
本文介绍了Nginx的起源及其功能。前向和后向代理以及负载均衡,这些只是功能描述,具体实现需要小伙伴详细学习。
1.《ngnix Nginx是什么?能干嘛?》援引自互联网,旨在传递更多网络信息知识,仅代表作者本人观点,与本网站无关,侵删请联系页脚下方联系方式。
2.《ngnix Nginx是什么?能干嘛?》仅供读者参考,本网站未对该内容进行证实,对其原创性、真实性、完整性、及时性不作任何保证。
3.文章转载时请保留本站内容来源地址,https://www.lu-xu.com/jiaoyu/1181444.html