Nginx 基本概念
本文将介绍 Nginx,一款高性能的 Web、反向代理服务器。
一、什么是 Nginx ?
Nginx 是一款 Web、反向代理服务器,它具有内存占用小、启动速度快、并发能力强、开源等特点。
二、Nginx 的作用
- 静态资源处理
- 反向代理
- 负载均衡
- 动静分离
三、静态资源处理
Nginx 拥有轻量、性能强的特点,处理静态资源有着十分巨大的优势。
四、反向代理
1. 正向代理
通常由客户端一方使用。
当客户端无法直接访问目标服务时,或者希望隐藏自己的真实信息时,便可以使用正向代理,借助正向代理服务器 “间接” 访问到目标服务。
2. 反向代理
通常由服务端一方使用。
服务端可以增设一个代理服务器,让所有的客户端都向代理服务器发送请求,代理服务器会在接收请求后将其转发至其它 “工作服务器”。
3. 反向代理的好处
真实的 “工作服务器” 被隐藏
可以更好地横向扩展服务器
增加 “工作服务器” 时,只需要修改反向代理服务器的配置即可,服务端性能得到提升,而客户端无需进行改变
可以用于处理前后端请求中的跨域问题
五、负载均衡
负载均衡基于反向代理。
当服务端性能无法满足需求时,我们可以使用反向代理模式并横向拓展 “工作服务器”。此时,我们希望代理服务器能够将请求分摊到各个 “工作服务器”,这便是负载均衡。
六、动静分离
为了提升解析服务,可以将动态资源和静态资源交由不同的服务器进行解析,从而提升速度、减轻压力。
Nginx 处理静态资源的能力更强,而 tomcat 等动态服务器处理并发数往往更低,同时处理静态资源和动态资源负担过重。因此,我们一般这样做:
- 通过匹配识别静态资源、非静态资源
- 当发现是静态资源时,直接由 Nginx 处理
- 当发现是动态资源时,将请求转发给其它服务器处理