Nginx(三):负载均衡策略 与 Nginx静态服务器
相关阅读:
Nginx(一):Nginx原理概述 与 安装步骤详解
Nginx(二):反向代理原理 与 配置文件详解
Nginx(三):负载均衡策略 与 Nginx静态服务器
Nginx(四):Nginx配置实战
Nginx使用最多的三个核心功能是反向代理、负载均衡和静态服务器。在前面的博客中,我们已经介绍过Nginx的反向代理功能能,这篇博客主要介绍nginx的负载均衡策略,以及作为静态服务器的使用。
所谓负载均衡, 负载均衡即是代理服务器将接收的请求均衡的分发到各服务器。负载均衡主要解决网络拥塞问题,提高服务器响应速度,服务就近提供,达到更好的访问质量,减少后台服务器大并发压力。
一、Nginx的负载均衡策略:
1、加权轮询算法(默认):
按照接收的请求顺序 逐一分配到不同的后端服务器,即使在使用的过程中,某一台后端服务器宕机,nginx会自动将该后端服务器剔除,请求受理情况不会受到任何影响。存在session丢失的问题。
upstream backserver {
server 192.168.0.14;
server 192.168.0.15;
}
在这种方式下,可以给不同的后端服务器设置权重值weight,用于调整不同的服务器上的请求的分配率;权重数据越大,被分配到的请求的几率越大;适合用于后端服务器性能不均衡的情况。
upstream backserver {
server 192.168.0.14 weight=10;
server 192.168.0.15 weight=10;
}
2、与IP地址绑定 ip_hash:
每个请求 按照 发起请求的客户端的ip的hash结果进行分配,在这种算法下,每个ip请求都会访问到一个固定的后端服务器。可以再一定程度上解决集群部署环境下session共享的问题。
upstream backserver {
ip_hash;
server 192.168.0.14:88;
server 192.168.0.15:80;
}
3、fair智能调整算法:
智能调整调度算法,动态根据后端服务器处理请求的响应时间进行均衡分配,响应时间短处理效率高的服务器 分配到请求的概率高,响应时间长处理效率低的服务器分配到请求的概率低。nginx本身不支持fair算法,需要安装upstream_fair模块。
upstream backserver {
server server1;
server server2;
fair;
}
4、url_hash:
按照访问的url 的hash结果分配请求,每个请求的url都会指向后端固定的某台服务器。在nginx作为静态服务器的情况下 可以提高后端服务器的缓存效率。nginx默认不支持这种调度算法,要使用的话需要安装nginx的hash软件包。
upstream backserver {
server squid1:3128;
server squid2:3128;
hash $request_uri;
hash_method crc32;
}
二、Upstream支持的状态参数:
在Nginx的Upstream模块中,除了可以通过server指定到特定服务器和端口,还可以设置服务器在负载均衡中的状态。目前的状态如下:
1、down:代表当前的服务器server不参与负载均衡。
2、backup:预留的备用设备,也就是当其它的服务器故障或忙时才会分配它给客户请求,所以它的压力最小。
3、max_fails:服务器server允许请求失败的次数,默认为1次,当失败次数超过限定的次数,就会返回proxy_next_upstream错误信息。
4、fail_timeout:当经历了max_fails的次数后,暂停服务的时间,一般与max_fails配合使用。
注意:
当服务器的调度算法为ip_hash时,服务器在负载均衡中的状态不能是weight和backup。
三、搭建nginx静态文件服务器:
本部分内容基于Centos7系统。
(1)进入配置文件目录:
cd /usr/local/nginx/conf/
(2)在nginx的默认配置文件中进行配置:
vim nginx.conf
需要把nginx的根目录指向上传文件的目录:按下面代码修改root的目录路径,然后保存退出。
server {
listen 80;
server_name localhost;#charset koi8-r;
#access_log logs/host.access.log main;
location / {
root /home/servicemarketpic/serviceMarket;
index index.html index.htm;
}
(3)重新加载nginx配置文件:
./nginx -s reload
参考博客:https://blog.csdn.net/why_2012_gogo/article/details/50967520
Nginx(三):负载均衡策略 与 Nginx静态服务器相关推荐
- 算法高级(14)-Nginx的负载均衡策略
一.nginx初体验 Nginx是一个http服务器.是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.nginx能够支撑5万并发链接,并且cp ...
- Nginx多种负载均衡策略搭建
背景介绍 上篇介绍了利用Nginx反向代理实现负载均衡,本文详细讲述Nginx下的几种负载均衡策略. 轮询 轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.c ...
- Nginx实现负载均衡时常用的分配服务器策略
场景 Nginx配置实例-负载均衡实例:平均访问多台服务器: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103019576 在 ...
- 1,Nginx负载均衡策略upstream,六种策略
upstream提供负载均衡功能,支持6种负载分配方式,默认是轮询分配方式 负载均衡作用 转发功能 故障转移 恢复添加 工作流程 分析客户端请求,构建调用服务器 调用ngx_http_upstream ...
- nginx负载均衡策略
nginx的负载均衡策略有4种: 轮询(默认) 最基本的配置方法,它是upstream的默认策略,每个请求会按时间顺序逐一分配到不同的后端服务器. 参数有: 项目 Value fail_timeout ...
- Nginx实现负载均衡Nginx缓存功能
目录 一.Nginx是什么 二.Nginx实现反向代理 2.1 正向代理和反向代理 2.2 nginx实现反向代理 2.2.1 proxy_pass配置 2.2.1.1ngx_http_rewrite ...
- Nginx之负载均衡(四)
在上一篇博客我们介绍了 Nginx 一个很重要的功能--代理,包括正向代理和反向代理.这两个代理的核心区别是:正向代理代理的是客户端,而反向代理代理的是服务器.其中我们又重点介绍了反向代理,以及如何通 ...
- nginx实现请求的负载均衡 + keepalived实现nginx的高可用
前言 使用集群是网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.这种 ...
- 【转载】Nginx简介及使用Nginx实现负载均衡的原理
原文地址:http://blog.csdn.net/u014749862/article/details/50522276 是什么? Nginx 这个轻量级.高性能的 web server 主要可以干 ...
最新文章
- TortoiseSVN SendRpt.exe not found解决方案
- 一片哗然!ICLR 2020被曝47%的审稿人没发过相关论文
- M8100-Table T169P: entry 1510 does not exist
- 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7
- C语言实现QR(正交三角)分解(附完整源码)
- ArrayBlockingQueue跟LinkedBlockingQueue的区别
- mysql基础知识点
- 【经验分享】工程开发与Coding规范
- html显示python执行的结果_批量执行用例,且结果显示在html中,python控制台也会显示运行过程...
- 反射(一)动态加载类
- MEGA视频目标检测
- TSO/GSO/LRO/GRO测试
- 【.Net Core】编译时禁止自动生成netcoreapp文件夹
- win10怎么更新到1809正式版 升级windows10方法
- excel宏设置之一键生成多张sheet并写入内容与格式
- 32位计算机处理64位数据,Win7 64位/32位电脑系统支持多大内存
- DSP 仿真调试步骤
- Java算法 -- 二分查找:查找目标元素最左的位置和最右的位置、局部最小值问题求解
- 新疆工程学院计算机在哪个校区,2021年新疆大学有几个校区,大一新生在哪个校区...
- css 弹性盒子 flex布局