Nginx 15分钟入门

1、反向代理和负载均衡

Nginx = 反向代理 + 负载均衡

        如上图,网站初期用户量较少的时候,一台服务器就够用,但是当大量用户注册,那么显然一台机器就不够了,我们把同一个项目部署在3台服务器上,如下图所示。那么问题又来了,用户A的请求应该打到哪台服务器上呢?用户B呢?那就需要加一个代理服务器来分配连接请求,这就是反向代理(PS:没有什么是加一层不能解决的!)

 这个Nginx服务器还有以下需求:

  • 服务器之间的session是不共享的,要保证用户A上次访问的是第一台服务器,下一次连接也要访问第一台服务器,如果下一次连接的是第二台服务器可能就不认识这个用户了(nginx貌似没解决这个问题哈!)
  • 负载均衡。比如上图中服务器的内存依次是64G,16G和8G,那我就希望让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上

负载均衡的策略

  • 轮询(√)
    • 这个轮询不是一人一次哦,是根据配置的weight,权重越大的轮询的次数越多(概率越大)
    • 实际开发都用这个,其他的策略根本不用的!
  • least_conn最小连接(×)
    • nginx负责记录各个服务器都有几个连接,每次给最少连接数的服务器分配一个连接。这样保证了一个“绝对公平”,就是大家各台服务器上的连接数是一样的,细想一下就知道不对。因为每一台服务器的配置是不一样的啊,64G内存的就应该比8G内存的机器多连一些
  • ip_hash×
    • 提供一个映射,用户IP地址到服务器编号的映射,思路是同一个用户每次连接,都找第一次连接的那一台服务器,不会出现第一次请求服务连接的是第一台,第二次请求又变成第二台了,因为第二台没存放这个用户的cookie,所以用户还要重新登陆一遍。但是有个问题,用户的IP是一成不变的吗?换个WiFi,相当于换了一个局域网,那么分配给用户的IP就会变呀!

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值