• 当前位置: 主页 > Linux安装教程 > 环境部署 >

    Nginx反向代理、负载均衡、页面缓存、URL重写及读写分离详解

    时间:2015-12-28 13:38来源:未知 作者:Linux先生 举报 点击:
    负载均衡模块用于从”upstream”指令定义的后端主机列表中选取一台主机。nginx先使用负载均衡模块找到一台主机,再使用upstream模块实现与这台主机的交互。为了方便介绍负载均衡模块,做到言之有物,以下选取nginx内置的ip hash模块作为实际例子进行分析。

    负载均衡模块 (100%)

    负载均衡模块用于从”upstream”指令定义的后端主机列表中选取一台主机。nginx先使用负载均衡模块找到一台主机,再使用 upstream模块实现与这台主机的交互。为了方便介绍负载均衡模块,做到言之有物,以下选取nginx内置的ip hash模块作为实际例子进行分析。

    配置

    要了解负载均衡模块的开发方法,首先需要了解负载均衡模块的使用方法。因为负载均衡模块与之前书中提到的模块差别比较大,所以我们从配置入手比较容易理解。

    在配置文件中,我们如果需要使用ip hash的负载均衡算法。我们需要写一个类似下面的配置:

    upstream test {
        ip_hash;
    
        server 192.168.0.1;
        server 192.168.0.2;
    }

    从配置我们可以看出负载均衡模块的使用场景: 1。 核心指令”ip_hash”只能在upstream {}中使用。这条指令用于通知nginx使用ip hash负载均衡算法。如果没加这条指令,nginx会使用默认的round robin负载均衡模块。请各位读者对比handler模块的配置,是不是有共同点? 2。 upstream {}中的指令可能出现在”server”指令前,可能出现在”server”指令后,也可能出现在两条”server”指令之间。各位读者可能会有疑问, 有什么差别么?那么请各位读者尝试下面这个配置:

    upstream test {
        server 192.168.0.1 weight=5;
        ip_hash;
        server 192.168.0.2 weight=7;
    }

    神奇的事情出现了:

    nginx: [emerg] invalid parameter "weight=7" in nginx.conf:103
    configuration file nginx.conf test failed

    可见ip_hash指令的确能影响到配置的解析。

    推荐内容
  • 三分PK拾平台 彩票高賠率好平台 极速快乐十分 上海时时乐开奖 幸运飞艇官网 极速3分彩 PK10牛牛 159彩票 极速快乐8 幸运赛车