第3方模块编译及一致性哈希应用

来源:互联网 发布:埃博拉病毒 知乎 编辑:程序博客网 时间:2024/04/29 00:32

http://wiki.nginx.org/HttpUpstreamConsistentHash

一致性哈希源码包下载网址:

wget https://github.com/replay/ngx_http_consistent_hash/archive/master.zip

下载得到master文件,然后使用unzip直接解压即可看到ngx_http_consistent_hash-master文件


编译安装nginx和添加一致性哈希模块:

./configure --prefix=/usr/local/nginx/ --add-module=/usr/local/src/ngx_http_consistent_hash-master/

make && make install


Nginx 第三方模块的安装方法:
以ngx_http_php_memcache_standard_balancer-master为例
1:解压 到 path/ngx_module

配置:
./configure --prefix=/xxx/xxx --add_module=/path/ngx_module
编译 安装
Make && make instal



配置memcache集群:
    upstream memserver {  //把用到的memcached节点,声明在一个组里
        hash_key $request_uri;  // hash计算时的依据,以uri做依据来hash
        server 192.168.1.100:11211;//注意:upstream中不能写localhost,需要写上ip
        server 192.168.1.100::11212;
    }
Location里


        location / {
           # root   html;
           set $memcached_key $uri;
           memcached_pass memserver;  // memserver为上面的memcache节点的名称
           error_page 404 /writemem.php;
           index  index.php index.html index.htm;
        }


一致性哈希集群配置:

upstream memserver {
        consistent_hash $request_uri;
        server 192.168.1.100::11211;
        server 192.168.1.100::11212;
    }


在PHP.ini中,如下配置


memcache.hash_strategy = consistent




0 0