nginx负均

Nginx负载均衡详解

上一篇中我说啦nginx有哪些中负载均衡算法。这一结我就给如果操作配置的给大家做详细说明下。

首先给大家说下upstream这个配置的,这个配置是写一组被代理的服务器地址,然后配置负载均衡的算法。这里的被代理服务器地址有2中写法。

upstream mysvr {
      server 192.168.10.121:3333;
      server 192.168.10.122:3333;
    }
 server {
        ....
        location  ~*^.+$ {
           proxy_pass  http://mysvr;  #请求转向mysvr 定义的服务器列表
        } 

upstream mysvr {
      server  http://192.168.10.121:3333;
      server  http://192.168.10.122:3333;
    }
 server {
        ....
        location  ~*^.+$ {
           proxy_pass  mysvr;  #请求转向mysvr 定义的服务器列表
        } 

然后,就来点实战的东西。

1、热备:如果你有2台服务器,当一台服务器发生事故时,才启用第二台服务器给提供服务。服务器处理请求的顺序:AAAAAA突然A挂啦,BBBBBBBBBBBBBB.....

upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333 backup;  #热备
    }

2、轮询:nginx默认就是轮询其权重都默认为1,服务器处理请求的顺序:ABABABABAB....

upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333;
    }

3、加权轮询:跟据配置的权重的大小而分发给不同服务器不同数量的请求。如果不设置,则默认为1。下面服务器的请求顺序为:ABBABBABBABBABB....

 upstream mysvr {
      server 127.0.0.1:7878 weight=1;
      server 192.168.10.121:3333 weight=2;}

4、ip_hash:nginx会让相同的客户端ip请求相同的服务器。

upstream mysvr {
      server 127.0.0.1:7878;
      server 192.168.10.121:3333;
      ip_hash;
    }

5、如果你对上面4种均衡算法不是很理解,那么麻烦您去看下我上一篇配的图片,可能会更加容易理解点。

到这里你是不是感觉nginx的负载均衡配置特别简单与强大,那么还没完,咱们继续哈,这里扯下蛋。

关于nginx负载均衡配置的几个状态参数讲解。

  • down,表示当前的server暂时不参与负载均衡。
  • backup,预留的备份机器。当其他所有的非backup机器出现故障或者忙的时候,才会请求backup机器,因此这台机器的压力最轻。
  • max_fails,允许请求失败的次数,默认为1。当超过最大次数时,返回proxy_next_upstream 模块定义的错误。
  • fail_timeout,在经历了max_fails次失败后,暂停服务的时间。max_fails可以和fail_timeout一起使用。
 upstream mysvr {
      server 127.0.0.1:7878 weight=2 max_fails=2 fail_timeout=2;
      server 192.168.10.121:3333 weight=1 max_fails=2 fail_timeout=1;
    }

原文地址:https://www.cnblogs.com/betterquan/p/11657433.html

时间: 2024-09-30 19:34:39

nginx负均的相关文章

问题 1061: C二级辅导-计负均正

/******************************************************************** @file Main.cpp @date 2017-6-28 09:58:32 @author Zoro_Tiger @brief 问题 1061: C二级辅导-计负均正 http://www.dotcpp.com/oj/problem1061.html ****************************************************

【华为OJ】【064-记负均正II】

[华为OJ][算法总篇章] [华为OJ][064-记负均正II] [工程下载] 题目描述 从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值 输入描述 输入任意个整数 输出描述 输出负数个数以及所有非负数的平均值 输入例子 -13 -4 -7 输出例子 3 0.0 算法实现 import java.util.Scanner; /** * Author: 王俊超 * Date: 2015-12-27 16:30 * Declaration: All Rights Reserved !!!

JSK-390 计负均正【入门】

计负均正 从键盘输入任意 20 个整型数,统计其中的负数个数并求所有正数的平均值. 输入格式 输入包含 20 个整数,分两行,每行 10 个数,每个数的绝对值不超过 1000. 输出格式 第一行输出负数个数. 第二行输出正数的平均数,保留两位小数. 样例输入 1 2 3 4 5 6 7 8 9 10 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 样例输出 10 5.50 问题链接:JSK-390 计负均正 问题描述:(略) 问题分析: 简单题,循环处理一下就好. 程序说明: 使用

记负均正

题目描述 首先输入要输入的整数个数n,然后输入n个整数.输出为n个整数中负数的个数,和所有正整数的平均值,结果保留一位小数. 输入描述: 首先输入一个正整数n,然后输入n个整数. 输出描述: 输出负数的个数,和所有正整数的平均值. 输入例子: 5 1 2 3 4 5 输出例子: 0 3 import java.util.Scanner; public class Main { public static void main(String[] args) { Scanner in = new Sc

记负均正II

从输入任意个整型数,统计其中的负数个数并求所有非负数的平均值 输入任意个整数 输出负数个数以及所有非负数的平均值 simple: -13 -4 -7 3 0.0 1 import java.util.*; 2 3 public class Test{ 4 public static void main(String[] args) { 5 Scanner sc = new Scanner(System.in); 6 int count1 = 0,count2 = 0,count3 = 0; 7

计负均正

从键盘输入任意20个整型数,统计其中的负数个数并求所有正数的平均值. 保留两位小数 #include<iostream> #include<stdio.h> using namespace std; int main () { int i, sum = 0; int a[20]; float avg = 0; for(i = 0; i < 20; i++) cin>>a[i]; for(i = 0; i < 20; i++) { if(a[i] < 0

反向代理负载均衡之nginx

一.集群 1.1 什么是集群 集群是一组相互独立的.通过高速网络互联的计算机,它们构成了一个组,并以单一系统的模式加以管理.一个客户与集群相互作用时,集群像是一个独立的服务器.集群配置是用于提高可用性和可缩放性. 和传统的高性能计算机技术相比,集群技术可以利用各档次的服务器作为节点,系统造价低,可以实现很高的运算速度,完成大运算量的计算,具有较高的响应能力,能够满足当今日益增长的信息服务的需求. 而集群技术是一种通用的技术,其目的是为了解决单机运算能力的不足.IO能力的不足.提高服务的可靠性.获

Python第一周 基础语法和概念

执行Python命令的两种方式 1. 交互式模式下执行 安装好了Python程序以后,在windows的命令行或linux.mac的终端界面输入python命令即可进入python的交互模式,在这个模式里输入python语句,按回车即可返回执行结果.一般用于调试. 2. 脚本执行 在.py文件中写好python语句,然后使用python script.py这样的格式来执行python脚本,或者在linux平台上给脚本添加可执行权限,使用绝对路径或相对路径的方式来执行脚本. Python程序的执行

企业仿站 个人仿站 定制网站制作 phpcms插件开发 网站二次开发 phpcms二次开发

团队擅长项目 1.客客威客系系统系模版制作.仿站.二次开发程序 2.ecshop商城系统系模版制作.模版制作.程序二次开发.插件开发 3.phpcms系统模版制作.插件开发.程序二次开发 4.帝国cms系统模版制作.插件开发.程序二次开发 5.dedecms系统模版制作.插件开发.程序二次开发 6.Wordpress博客社区系统模版制作.插件开发.主题定制 7.Discuz论坛社区系统.模版制作.插件开发.仿站定制 网站运维: 3.liunx  环境安装  win2003 –win2012 环境