Nginx 基本概念

本文将介绍 Nginx,一款高性能的 Web、反向代理服务器。

一、什么是 Nginx ?

Nginx 是一款 Web、反向代理服务器,它具有内存占用小、启动速度快、并发能力强、开源等特点。

二、Nginx 的作用

  • 静态资源处理
  • 反向代理
  • 负载均衡
  • 动静分离

三、静态资源处理

Nginx 拥有轻量、性能强的特点,处理静态资源有着十分巨大的优势。

四、反向代理

1. 正向代理

通常由客户端一方使用。

当客户端无法直接访问目标服务时,或者希望隐藏自己的真实信息时,便可以使用正向代理,借助正向代理服务器 “间接” 访问到目标服务。

2. 反向代理

通常由服务端一方使用。

服务端可以增设一个代理服务器,让所有的客户端都向代理服务器发送请求,代理服务器会在接收请求后将其转发至其它 “工作服务器”。

3. 反向代理的好处

  • 真实的 “工作服务器” 被隐藏

  • 可以更好地横向扩展服务器

    增加 “工作服务器” 时,只需要修改反向代理服务器的配置即可,服务端性能得到提升,而客户端无需进行改变

  • 可以用于处理前后端请求中的跨域问题

五、负载均衡

负载均衡基于反向代理。

当服务端性能无法满足需求时,我们可以使用反向代理模式并横向拓展 “工作服务器”。此时,我们希望代理服务器能够将请求分摊到各个 “工作服务器”,这便是负载均衡。

六、动静分离

为了提升解析服务,可以将动态资源和静态资源交由不同的服务器进行解析,从而提升速度、减轻压力。

Nginx 处理静态资源的能力更强,而 tomcat 等动态服务器处理并发数往往更低,同时处理静态资源和动态资源负担过重。因此,我们一般这样做:

  • 通过匹配识别静态资源、非静态资源
  • 当发现是静态资源时,直接由 Nginx 处理
  • 当发现是动态资源时,将请求转发给其它服务器处理

参考