一:需求背景
Nginx相信大家应该不陌生吧!是一个高性能web服务器,可以做负载均衡或者是反向代理,比如,把静态页面直接部署到到html,实现动静分离,一个服务器部署多个服务,缓解服务压力,等等,都可以利用Nginx实现。
1.负载均衡
这个理解比较简单,其实就是压力分摊,一个工程部署多个节点,也就是传说中的分布式,这样对于所有请求不会全部落到一个节点上,而造成某个节点压力过大。nginx在配置上游服务就可以设置对应负载权重。
2.反向代理
这个可能不太好理解,可以先看一下图:
也就是,用户就访问了一个服务器域名,Nginx会帮我们转发到实际访问的ip或者端口,比如对于微服务工程,用户访问:www.mall.com/product,但是可能会转发到product-service这个工程的主机ip,这就是Nginx给我们处理的,反向代理。
而正向代理,就不会去转发,处理请求也是域名对应的ip主机。
二:Nginx负载均衡+反向代理实战
1.Nginx配置结构
首先,在开发配置修改前,我们简单了解一下Nginx的结构,对于Windows版本,官网下载,文件目录结构如下: