这是我参与11月更文挑战的第27天,活动详情查看:2021最后一次更文挑战
写在前面
关于Nginx你了解多少了呢?
今天我想分享一下负载均衡和镜像服务器。
Nginx负载均衡
nginx负载均衡介绍
负载均衡的意思是在服务器集群中,需要有一台服务器作为调度者,客户端所有的请求都由调度者接收,调度者再根据每台服务器的负载情况,将请求分配给对应的服务器去处理;
在这个过程中,调度者如何合理分配任务,保证所有服务器将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡的问题了。
nginx负载均衡的方式
1、轮询
轮询方式是Nginx负载默认的方式,顾名思义,所有请求都按照时间顺序分配到不同的服务上,如果服务Down掉,可以自动剔除,如下配置后轮训10001服务和10002服务。
1 | vbscript复制代码upstream dalaoyang-server{ |
2、权重
指定每个服务的权重比例,weight和访问比率成正比,通常用于后端服务机器性能不统一,将性能好的分配权重高来发挥服务器最大性能,如下配置后10002服务的访问比率会是10001服务的二倍。
1 | ini复制代码upstream dalaoyang-server{ |
3、iphash
每个请求都根据访问ip的hash结果分配,经过这样的处理,每个访客固定访问一个后端服务,如下配置(ip_hash可以和weight配合使用)。
1 | ini复制代码upstream dalaoyang-server{ |
4、最少连接
将请求分配到连接数最少的服务上。
1 | ini复制代码upstream dalaoyang-server{ |
5、fair
按后端服务器的响应时间来分配请求,响应时间短的优先分配。需要插件来帮我们实现。
1 | ini复制代码upstream dalaoyang-server{ |
Nginx配置
以轮询为例,如下是nginx.conf完整代码。
1 | ini复制代码worker_processes 1; |
Nginx镜像服务器
Nginx的proxy_store作用是直接把静态文件在本地硬盘创建并读取,类似于七牛或者又拍这样的镜像CDN功能,首次访问会自动获取源站的静态图片等文件,之后的访问就是直接从CDN服务器读取,加快了速度。
需要配置一下参数:
1 | csharp复制代码#启用缓存到本地的功能 |
整体配置如下(修改nginx的配置文件nginx.conf):
1 | csharp复制代码location / { |
弦外之音
感谢你的阅读,如果你感觉学到了东西,您可以点赞,关注。也欢迎有问题我们下面评论交流
加油! 我们下期再见!
给大家分享几个我前面写的几篇骚操作
本文转载自: 掘金