1、反向代理和负载均衡
Nginx = 反向代理 + 负载均衡
网站初期用户量较少的时候,一台服务器就够用,但是当大量用户注册,那么显然一台机器就不够了。如下图,我们把同一个项目部署在3台服务器上。那么问题又来了,用户A的请求应该打到哪台服务器上呢?用户B呢?那就需要加一个代理服务器来分配连接请求,这就是反向代理(没有什么是加一层不能解决的!)
这个Nginx服务器还有以下需求:
- 服务器之间的session是不共享的,要保证用户A上次访问的是第一台服务器,下一次连接也要访问第一台服务器,如果下一次连接的是第二台服务器可能就不认识这个用户了
- 负载均衡。比如上图中服务器的内存依次是64G,8G和4G,那我就希望让64G的服务器承担更多的连接请求,也就是Nginx负责让更多的连接打到64G的服务器上,我们需要在Nginx的配置文件里给服务器配置权重。
- 反向代理
- 先讲一下正向代理,正向代理 代理的是客户端。我们用代理访问外网就是正向代理,
- 反向代理代理的是服务端,懂了吧。比如我们把同一个服务部署在127.xxx.xxx.2,127.xxx.xxx.3和127.xxx.xxx.4上,但是对外提供的url都是baidu.com,那么这个baidu.com就代理了127.xxx.xxx.2,127.xxx.xxx.3和127.xxx.xxx.4的请求。
2、Nginx性能
tomcat只能支持五六百个并发连接数的相应,但Nginx能支持5万个并发连接(tomcat的100倍)!
其他性能也很好
3、Nginx常用命令
4、如何使用Nginx
配置文件:Nginx.conf文件
4.1 反向代理配置
其实配置反向代理前,要先配置负载均衡
有了上面的配置,访问根目录“/”的请求就会打到127.0.0.1:8080和127.0.0.1:8081这两个端口上。
4.2 负载均衡配置
通过权重进行负载均衡的配置。有4个请求,其中3个会打到127.0.0.1:8080上,一个会打到127.0.0.1:8081上