Nginx模块 之——正向代理与反向代理
Nginx简介:
Nginx因其特有的稳定性,丰富的资源模块,灵活的配置较低的资源消耗而闻名,其特点是占有内存少,并发能力强是一款轻量级的HTTP和反向代理服务器。
Nginx由内核和一系列模块组成,内核提供web的基本功能,如网络协议,创建运行环境,接收和处理客户端请求,处理模块之间的交互。
- Nginx模块从结构上分为:
核心模块:HTTP模块,EVENT 模块和 MAIL模块;
基础模块:HTTP access模块 ,HTTP FastCGI模块、HTTP Proxy模块、HTTP Rewrite模块
第三方模块:HTTP Upstream Request Hash模块、Notice模块、HTTP access key模块及用户自己开发的模块。
提示:Nginx模块默认编译进Nginx软件中,如需要增加模块或删除模块,就要重新编译安装,这一点不如apache方便。
- Nginx作为web服务器:
web服务器英文全称(World Wide Web)服务器,主要提供上网信息浏览服务,常常以B/S(Browser/Server)架构方式提供服务;
应用层使用HTTP协议
HTML文档格式
浏览器统一资源定位器(URL)
- 正向代理:
如果把internet想像成一个巨大的外部资源库,而在局域网的客户端要去访问外部的资源库,则需要通过代理服务器去获取,这种代理服务就称为正向代理。
正向代理是指代理客户端,比如你想去Google看个“动作片”,现在国内不允许,就要找FQ代理。
- 反向代理与负载均衡:
反向代理与正向代理正好相反,反向代理是指以代理服务器来接收来自internet的连接请求(位于集群的出口),然后将请求分发给分布在内部网络上的服务器,并将服务器得到的结果返回给客户机,Nginx server完成反向代理。
此时代理服务器对外表现就是一个服务器,客户端对代理是无感知的。反向代理“代理”的是服务端。
比如,你想看一次“爱情片”,通过浏览器输入域名,反向代理服务端 youku.com 收到请求后变量将定位到存放片源的存储服务器,这个就是所谓的‘反向代理’。
为什么使用反向代理,优点有哪些。
- 保护和隐藏原始资源服务器
- 加密和SSL加速
- 通过缓存静态资源,加速web请求
- 实现负载均衡
负载均衡:TODO: 留一个负载均衡详细介绍传送门。
地址重定向:Nginx 的 Rewrite 主要的功能就是实现 URL 重写,比如输入 360.com 跳转到了 360.cn,baidu.cn 跳转到了 baidu.com。
- 动静分离
为了加快网站的解析速度,可以把动态页面和静态页面由不同的服务器来解析,加快解析速度,降低原来单个服务器的压力。
这里指的就是让动态程序(Java、PHP)去访问应用服务器,让缓存、图片、JS、CSS 等去访问 Nginx。