- 1、本文档共13页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【大型网站技术实践】初级篇:借助Nginx搭建反向代理服务器
【大型网站技术实践】初级篇:借助Nginx搭建反向代理服
务器
一、反向代理:Web服务器的“经纪人”
1.1 反向代理初 象
反向代理 (Reverse Proxy )方式是指以代理服务器来接受internet上的连接请求,然后将请
求转发给内部网络上的服务器,并将从服务器上得到的结果返回给internet上请求连接的客户端,
此时代理服务器对外就表现为一个服务器。
从上图可以看出:反向代理服务器位于网站机房,代理网站Web服务器接收Http请求,对请
求进行转发。
1.2 反向代理的作用
①保护网站安全:任何来自Internet的请求都必须先经过代理服务器;
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 1
②通过配置缓存功能加速Web请求:可以缓存真实Web服务器上的某些静态资源,减轻真
实Web服务器的负载压力;
③实现负载均衡:充当负载均衡服务器均衡地分发请求,平衡集群中各个服务器的负载压力
;
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 2
二、初识Nginx :简单却不平凡
2.1 Nginx是神马?
Nginx是一款轻量级的网页服务器、反向代理器以及电子邮件代理服务器。其将源代码以
类BSD许可证的形式发布,因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗而
闻名。
Source :Nginx (发音同engine x ),它是由俄罗斯程序员Igor Sysoev所开发的。起初是供
俄国大型的门户网站及搜索引擎Rambler (俄语:Рам лер)使用。此软件BSD-like协议下发行
,可以在UNIX 、GNU/Linux 、BSD、Mac OS X 、Solaris,以及Microsoft Windows等操作系统中
运行。
说到Web服务器,Apache服务器和IIS服务器是两大巨头;但是运行速度更快、更灵活的对手
:Nginx正在迎头赶上。
2.2 Nginx 的应用现状
Nginx 已经在俄罗斯最大的门户网站 Rambler Media (www .rambler.ru)上运行了3年时间
,同时俄罗斯超过20%的虚拟主机平台采用Nginx作为反向代理服务器。
在国内,已经有 淘宝、新浪博客、新浪播客、网易新闻、六间房、56.com、Discuz !、水木
社区、豆瓣、Y UPOO、海内、迅雷在线 等多家网站使用 Nginx 作为Web服务器或反向代理服
务器。
æ ´å¤ ç²¾å½©æ »ç ¥è®¿é ® 3
2.3 Nginx 的核心特点
(1)跨平台:Nginx 可以在大多数 Unix like OS编译运行,而且也有Windows的移植版本;
(2 )配置异常简单:非常容易上手。配置风格跟程序开发一样,神一般的配置;
(3 )非阻塞、高并发连接:数据复制时,磁盘I/O的第一阶段是非阻塞的。官方测试能够支
撑5万并发连接,在实际生产环境中跑到2~3万并发连接数。 (这得益于Nginx使用了最新的epoll
模型);
PS :对于一个Web服务器来说,首先看一个请求的基本过程:建立连接—接收数据—发送
数据,在系统底层看来 :上述过程 (建立连接—接收数据—发送数据)在系统底层就是读写事
件。
①如果采用阻塞调用的方式,当读写事件没有准备好时,必然不能够进行读写事件,那么久
只好等待,等事件准备好了,才能进行读写事件,那么请求就会被耽搁 。
②既然没有准备好阻塞调用不行,那么采用非阻塞调用方式。非阻塞就是:事件马上返回,
告诉你事件还没准备好呢,你慌什么,过会再来吧。好吧,你过一会,再来检查一下事件,直到
事件准备好了为止,在这期间,你就可以先去做其它事情,然后再来看看事件好了没。虽然不阻
塞了,但你得不时地过来检查一下事件的状态,你可以做更多的事情了,但带来的开销也是不
小的。
(4 )事件驱动:通信机制采用epoll模型,支持更大的并发连接。
①非阻塞通过不断检查事件
文档评论(0)