相关阅读:

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静态服务器相关推荐

  1. 算法高级(14)-Nginx的负载均衡策略

    一.nginx初体验 Nginx是一个http服务器.是一个使用c语言开发的高性能的http 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器.nginx能够支撑5万并发链接,并且cp ...

  2. Nginx多种负载均衡策略搭建

    背景介绍 上篇介绍了利用Nginx反向代理实现负载均衡,本文详细讲述Nginx下的几种负载均衡策略. 轮询 轮询,顾名思义,就是轮流请求,基于上篇文章的介绍,我们将负载均衡策略聚焦于default.c ...

  3. Nginx实现负载均衡时常用的分配服务器策略

    场景 Nginx配置实例-负载均衡实例:平均访问多台服务器: https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103019576 在 ...

  4. 1,Nginx负载均衡策略upstream,六种策略

    upstream提供负载均衡功能,支持6种负载分配方式,默认是轮询分配方式 负载均衡作用 转发功能 故障转移 恢复添加 工作流程 分析客户端请求,构建调用服务器 调用ngx_http_upstream ...

  5. nginx负载均衡策略

    nginx的负载均衡策略有4种: 轮询(默认) 最基本的配置方法,它是upstream的默认策略,每个请求会按时间顺序逐一分配到不同的后端服务器. 参数有: 项目 Value fail_timeout ...

  6. Nginx实现负载均衡Nginx缓存功能

    目录 一.Nginx是什么 二.Nginx实现反向代理 2.1 正向代理和反向代理 2.2 nginx实现反向代理 2.2.1 proxy_pass配置 2.2.1.1ngx_http_rewrite ...

  7. Nginx之负载均衡(四)

    在上一篇博客我们介绍了 Nginx 一个很重要的功能--代理,包括正向代理和反向代理.这两个代理的核心区别是:正向代理代理的是客户端,而反向代理代理的是服务器.其中我们又重点介绍了反向代理,以及如何通 ...

  8. nginx实现请求的负载均衡 + keepalived实现nginx的高可用

    前言 使用集群是网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求.这种 ...

  9. 【转载】Nginx简介及使用Nginx实现负载均衡的原理

    原文地址:http://blog.csdn.net/u014749862/article/details/50522276 是什么? Nginx 这个轻量级.高性能的 web server 主要可以干 ...

最新文章

  1. TortoiseSVN SendRpt.exe not found解决方案
  2. 一片哗然!ICLR 2020被曝47%的审稿人没发过相关论文
  3. M8100-Table T169P: entry 1510 does not exist
  4. 11.10/11.11/11.12 安装PHP5 11.13 安装PHP7
  5. C语言实现QR(正交三角)分解(附完整源码)
  6. ArrayBlockingQueue跟LinkedBlockingQueue的区别
  7. mysql基础知识点
  8. 【经验分享】工程开发与Coding规范
  9. html显示python执行的结果_批量执行用例,且结果显示在html中,python控制台也会显示运行过程...
  10. 反射(一)动态加载类
  11. MEGA视频目标检测
  12. TSO/GSO/LRO/GRO测试
  13. 【.Net Core】编译时禁止自动生成netcoreapp文件夹
  14. win10怎么更新到1809正式版 升级windows10方法
  15. excel宏设置之一键生成多张sheet并写入内容与格式
  16. 32位计算机处理64位数据,Win7 64位/32位电脑系统支持多大内存
  17. DSP 仿真调试步骤
  18. Java算法 -- 二分查找:查找目标元素最左的位置和最右的位置、局部最小值问题求解
  19. 新疆工程学院计算机在哪个校区,2021年新疆大学有几个校区,大一新生在哪个校区...
  20. css 弹性盒子 flex布局

热门文章

  1. 【机器学习算法专题(蓄力计划)】十二、机器学习中KNN算法
  2. 四十六、微信小程序快速开发入门
  3. 期末复习、化学反应工程科目(第三章)
  4. 开源内容管理系统 php mysql_「分享」7 个精致的 PHP 开源内容管理系统(CMS)
  5. java架构师学习笔记
  6. 从ICLR 2022看什么是好的图神经网络?
  7. 输入梯度惩罚与参数梯度惩罚的一个不等式
  8. 报名|第2期“DI极客说”,揭秘决策AI创新应用带来的行业变革
  9. 更好的对比样本选择,更好的对比效果
  10. 推荐计算机与通信领域SCI期刊,因子稳中看升,对中国作者友好,毕业优选!