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

Nginx 第三方模块的安装以及一致性哈希算法的使用的更多相关文章

  1. Nginx第三方模块Ngx-dyups安装过程

    Ngx-dyups是什么,能干什么 它是一个Nginx第三方动态Upstream配置模块,可以实现在不重启Nginx情况下动态更新反向代理Upstream表.该模块由淘宝开发团队维护,淘宝自家的Ten ...

  2. 如何安装nginx第三方模块

    nginx文件非常小但是性能非常的高效,这方面完胜apache,nginx文件小的一个原因之一是nginx自带的功能相对较少,好在nginx允许第三方模块,第三方模块使得nginx越发的强大. 在安装 ...

  3. nginx第三方模块安装方法

    nginx第三方模块安装方法 ./configure --prefix=/你的安装目录 --add-module=/第三方模块目录 比如echo模块. 没安装前,使用测试. location /tes ...

  4. mac下Nginx+lua模块编译安装

    Nginx的nb之处就不说了,lua也是一个小巧的脚本语言,由标准C编写而成,几乎可以运行在所有的平台上,也非常强大,其他特性请自行度娘.nginx_lua_module是由淘宝的工程师清无(王晓哲) ...

  5. 一些好用的nginx第三方模块

    一些好用的nginx第三方模块 转自;http://macken.iteye.com/blog/1963301  1.Development Kit https://github.com/simpl/ ...

  6. Python学习之==>第三方模块的安装、模块导入

    一.模块&包 1.模块 模块实质上就是一个Python文件,它是用来组织代码的.意思就是把Python代码写在里面,文件名就是模块的名称.例如:random.py,random就是模块的名称. ...

  7. nginx系列12:一致性哈希算法

    前面一节的hash算法存在一个问题,当上游的应用服务器因某一台down掉导致服务器数量发生变化时,会导致大量的请求路由策略失效,一致性哈希算法可以缓解这个问题. 一致性哈希算法 1,hash算法存在的 ...

  8. 一致性哈希算法与Java实现

    原文:http://blog.csdn.net/wuhuan_wp/article/details/7010071 一致性哈希算法是分布式系统中常用的算法.比如,一个分布式的存储系统,要将数据存储到具 ...

  9. 五分钟理解一致性哈希算法(consistent hashing)

    转载请说明出处:http://blog.csdn.net/cywosp/article/details/23397179 一致性哈希算法在1997年由麻省理工学院提出的一种分布式哈希(DHT)实现算法 ...

随机推荐

  1. how can I ues Dataset to shuffle a large whole dataset?

    The Dataset.shuffle() implementation is designed for data that could be shuffled in memory; we're co ...

  2. FastText 介绍

    FastText 介绍 在面试百度的NLP工程师时,被问及常用的词向量表示学习方法有哪些,我说知道word2vec,然后大佬又问我知道FastText么... 这就很尴尬了,不会! 不同于word2v ...

  3. [java开发篇][dom4j模块]遍历,解析xml

    package com.softwinner.performance.benchmark; /** * Created by Administrator on 2017/7/21. */ import ...

  4. [已解决]使用 apt-get update 命令提示 ...中被配置了多次

    报错:W: 目标 Sources (main/source/Sources) 在 /etc/apt/sources.list:2 和 /etc/apt/sources.list:7 中被配置了多次 v ...

  5. 【Mysql 优化 6】mysql优化的内容和思路

    根据最近做mysql优化,以及参照的官方文档的一些知识点,总结一下,如何下手去优化mysql 数据库.PS:更多可能是我个人的笔记总结记录,仅供参考 一.优化的内容 可以优化的内容,从范围的大小,可以 ...

  6. PHPSTORM+Thinkphp3.2模板标签替换Thinkphp5.1公式

    FORMAT: purpose: find: replace 替换<php>标签 <php>(.*)</php> {php}$1{/php} 替换<if &g ...

  7. layui.code代码装饰器

    <!doctype html><html lang="en"><head> <meta charset="UTF-8" ...

  8. CodeForces839D[莫比乌斯反演] Codeforces Round #428 (Div. 2)

    /*CodeForces839D[莫比乌斯反演]*/ #include <bits/stdc++.h> typedef long long LL; const LL MOD = 10000 ...

  9. 【bzoj1002】[FJOI2007]轮状病毒 矩阵树定理+高精度

    题目描述 轮状病毒有很多变种,所有轮状病毒的变种都是从一个轮状基产生的.一个N轮状基由圆环上N个不同的基原子和圆心处一个核原子构成的,2个原子之间的边表示这2个原子之间的信息通道.如下图所示 N轮状病 ...

  10. Master&Slave是什么?

    由于前段时间公司项目比较赶,一直抽不出时间写博客,今天偷空写一篇吧.前面给大家讲解了单机版redis的基本操作,现在继续给大家讲解一下Redis的进阶部分,主从复制和读写分离. 一.Master&am ...