为什么要用nginx
1.随着用户量的增加,一台服务器已经不满足我们的需要了,并发量剧增,于是我们就横向扩展,增加了服务器,这时候几个项目启动在不同的服务器上,用户访问就会需要一个代理服务器,通过代理服务器来帮助我们转发和处理请求;
如图所示:增加了三个服务器
反向代理:就是把多个http请求分配到几个服务器上,处理;
负载均衡:有个服务器配置优越,有的服务器配置较低,因此我们就进行了负载均衡,有配置优越的服务器进行加权重,对配置较低的服务器降低权重;
性能:占用内存小:1M,支持5万个并发连接数的响应;
正向代理
正向代理:VPN、f_q软件
反向代理:NGINX
安装在客户端的VPN、f_q工具,代理客户端请求,请求到公司内部网络,或者请求xiang gang的服务器访问out 网站,正向代理;
安装在服务端,让让用户无感知的请求到其中一个服务器;
轮询
如下图所示,nginx 让请求依次访问 各个服务器:第一个请求访问服务器1,第二请求访问服务器2,第三个请求访问服务器3,第四个请求访问服务器1.....
依次往复的轮询的请求;
加权轮询
使请求能够偏重的分配给权重大的服务器
IPHASH
但是最好我们的session数据都是放在redis上,不放在nginx
动静分离
当我们访问静态资源时,每次加载jar包资源,也会耗时且消耗内存,通过nginx实现请求本地资源,优化访问速度