zoukankan      html  css  js  c++  java
  • Nginx 第三方模块的安装以及一致性哈希算法的使用

    Nginx 第三方模块的安装以及一致性哈希算法的使用

    第三方模块安装方法总结:

    以ngx_http_php_memcache_standard_balancer-master为例

    1:解压 到 path/ngx_module

     

    配置:add_module=后面写的就是被解压之后的模块的位置

    ./configure --prefix=/xxx/xxx --add_module=/path/ngx_module

    编译 安装

    Make && make instal

     

    需要一致性哈希算法,来统一nginx和php的mc算法,使得二者的算法同步

    wget 一致性哈希算法的zip

    解压

     

    通过-V来查看一下nginx编译时候的选项(这一步只是看到了这个命令,所以记录下来,不是必要的)

    重新编译nginx   因为之前编译过,可以先make clean一下

    编译之前最好先把nginx进程杀死

    在nginx中做集群与负载均衡,步骤都是一样的

    Upstream {}模块 把多台服务器加入到一个组

    然后 memcached_pass, fastcgi_pass, proxy_pass ==> upstream组

     

    默认的负载均衡的算法:

    是设置计数器,轮流请求N台服务器.

    可以安装第3方模式,来利用uri做hash等等.

     

    如http://wiki.nginx.org/NginxHttpUpstreamConsistentHash

    这个模块就是用一致性hash来请求后端结节,并且其算法,与PHP中的memcache模块的一致性hash算法,兼容.

     

    安装该模块后:

    Nginx.conf中

     

    upstream memserver {

        #拿什么当做哈希的参数,这里拿request_uri当做哈希的参数,这样把这个uri通过哈希算法来算,是落在哪一台服务器上,这样nginx就把某一个uri哈希到某一台server上了。

            consistent_hash $request_uri;

            server localhost:11211;

            server localhost:11212;

        }

     

    在PHP.ini中,如下配置

    memcache.hash_strategy = consistent

    默认的是standard,就是求余

    这样: nginx与PHP即可完成对memcached的集群与负载均衡算法.

    启动memcached

    进行访问,观察,memcached是否起了作用。

     

     

    不能用localhost,不好用,要写IP

  • 相关阅读:
    java中的构造方法
    在CentOS6.4上安装GitLab
    java通过文件路径读取该路径下的所有文件并将其放入list中
    java IO流 内容整理
    Selenium Webdriver元素定位的八种常用方式
    揭秘Alltesting众测平台
    TestCenter中测试需求、测试用例、测试计划的评审方法
    测试管理工具(TestCenter)产品功能介绍
    Bug管理工具(TCE)之缺陷导入与导出
    Bug管理工具(TCE)之缺陷流程定制
  • 原文地址:https://www.cnblogs.com/mrxiaohe/p/5844843.html
Copyright © 2011-2022 走看看