01 前言
工作中经常接触Nginx,但说实话自己并不理解,也不会使用,只是经常听人提起负载均衡、反向代理啥的,既然工作中用的到,那就花时间学~
02 Nginx 基本概念
1、什么是Nginx
Nginx是一款高性能的http和反向代理的web服务器,其主要优点有:
① 占用内存少
② 并发能力强
2、正向代理
其实这个是为了引出反向代理,但既然有反向代理,那可能也有向代理,这个Nginx也是可以实现的
我们通过以下这个图来理正向代理:
假如:我要直接访问www.google.com,浏览器是不能直接访问的,我们一般是通过翻墙的方式,也就是说:
在客户端(浏览器)中配置代理服务器,通过代理服务器去访问目标网址,这就是正向代理
3、反向代理
我们通过以下的图来理解方向代理:
假如我需要访问服务端的tomcat,端口号是8001,但是我不直接访问通过一个反向代理服务器,及访问反向代理服务器的9001端口,由反向代理服务器将请求转发到目标服务器的9001端口,这时,目标服务器对于客户端来讲是隐藏不可见的。暴露的是反向代理服务器的地址。
反向代理,客户端不需要做任何配置,只需要将请求发给反向代理服务器,有反向代理服务器去选择目标服务器,获取数据后返回给客户端。
4、负载均衡
将原先分发到单个服务器上请求分发到多个服务器上,将负载分发到多个服务器,这就是负载均衡
同样用一张图来说明:
假如客户端有15个请求,我们通过反向代理服务器将15个请求分发到多个服务器上,这就是负载均衡。
5、动静分离
为了加快网站的解析速度,将动态文件和静态文件通过不同的服务器进行解析,如下图
网友评论