Nginx搭建反向代理服务器过程详解

Nginx搭建反向代理服务器过程详解

ID:32996809

大小:2.31 MB

页数:15页

时间:2019-02-18

Nginx搭建反向代理服务器过程详解_第1页
Nginx搭建反向代理服务器过程详解_第2页
Nginx搭建反向代理服务器过程详解_第3页
Nginx搭建反向代理服务器过程详解_第4页
Nginx搭建反向代理服务器过程详解_第5页
资源描述:

《Nginx搭建反向代理服务器过程详解》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、Nginx搭建反向代理服务器过程详解+添加收藏kelinlin2015-04-18926查看0评论一、反向代理:Web服务器的“经纪人”1.1反向代理初印象反向代理(ReverseProxy)方式是指以代理服务器来接受internet上的连接请求,然后将请求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,此时代理服务器对外就表现为一个服务器。从上图可以看出:反向代理服务器位于网站机房,代理网站Web服务器接收Http请求,对请求进行转发。1.2反向代理的

2、作用①保护网站安全:任何来自Internet的请求都必须先经过代理服务器;②通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真实Web服务器的负载压力;③实现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力;二、初识Nginx:简单却不平凡2.1Nginx是神马?Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而闻名。Source:N

3、ginx(发音同enginex),它是由俄罗斯程序员IgorSysoev所开发的。起初是供俄国大型的门户网站及搜索引擎Rambler(俄语:Рамблер)使用。此软件BSD-like协议下发行,可以在UNIX、GNU/Linux、BSD、MacOSX、Solaris,以及MicrosoftWindows等操作系统中运行。说到Web服务器,Apache服务器和IIS服务器是两大巨头;但是运行速度更快、更灵活的对手:Nginx正在迎头赶上。2.2Nginx的应用现状Nginx已经在俄罗斯最大的门户网站──R

4、amblerMedia(www.rambler.ru)上运行了3年时间,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。在国内,已经有淘宝、新浪博客、新浪播客、网易新闻、六间房、56.com、Discuz!、水木社区、豆瓣、YUPOO、海内、迅雷在线等多家网站使用Nginx作为Web服务器或反向代理服务器。2.3Nginx的核心特点(1)跨平台:Nginx可以在大多数UnixlikeOS编译运行,而且也有Windows的移植版本;(2)配置异常简单:非常容易上手。配置风格跟程序开发一样

5、,神一般的配置;(3)非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。(这得益于Nginx使用了最新的epoll模型);PS:对于一个Web服务器来说,首先看一个请求的基本过程:建立连接—接收数据—发送数据,在系统底层看来:上述过程(建立连接—接收数据—发送数据)在系统底层就是读写事件。①如果采用阻塞调用的方式,当读写事件没有准备好时,必然不能够进行读写事件,那么久只好等待,等事件准备好了,才能进行读写事件,那么请求就会

6、被耽搁。②既然没有准备好阻塞调用不行,那么采用非阻塞调用方式。非阻塞就是:事件马上返回,告诉你事件还没准备好呢,你慌什么,过会再来吧。好吧,你过一会,再来检查一下事件,直到事件准备好了为止,在这期间,你就可以先去做其它事情,然后再来看看事件好了没。虽然不阻塞了,但你得不时地过来检查一下事件的状态,你可以做更多的事情了,但带来的开销也是不小的。(4)事件驱动:通信机制采用epoll模型,支持更大的并发连接。①非阻塞通过不断检查事件的状态来判断是否进行读写操作,这样带来的开销很大,因此就有了异步非阻塞的事件处

7、理机制。这种机制让你可以同时监控多个事件,调用他们是阻塞的,但可以设置超时时间,在超时时间之内,如果有事件准备好了,就返回。这种机制解决了上面阻塞调用与非阻塞调用的两个问题。②以epoll模型为例:当事件没有准备好时,就放入epoll(队列)里面。如果有事件准备好了,那么就去处理;如果事件返回的是EAGAIN,那么继续将其放入epoll里面。从而,只要有事件准备好了,我们就去处理它,只有当所有事件都没有准备好时,才在epoll里面等着。这样,我们就可以并发处理大量的并发了,当然,这里的并发请求,是指未处理

8、完的请求,线程只有一个,所以同时能处理的请求当然只有一个了,只是在请求间进行不断地切换而已,切换也是因为异步事件未准备好,而主动让出的。这里的切换是没有任何代价,你可以理解为循环处理多个准备好的事件,事实上就是这样的。③与多线程方式相比,这种事件处理方式是有很大的优势的,不需要创建线程,每个请求占用的内存也很少,没有上下文切换,事件处理非常的轻量级,并发数再多也不会导致无谓的资源浪费(上下文切换)。对于IIS服务器,每个请求会

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。