018 nginx与第三模块整合[一致性哈希模块整合]
nginx第三方模块官网:http://wiki.nginx.org/HttpUpstreamConsistentHash nginx第三方模块下载地址:https://github.com/replay/ngx_http_consistent_hash/archive/master.zip 下载模块 wget https://github.com/replay/ngx_http_consistent_hash/archive/master.zip 解压:unzip master.zip nginx整合第三方模块 [nginx-1.4.2] ./configure --prefix=/usr/local/nginx/ --add-module=/ngx_http_consistent_hash-master/
#杀掉nginx进程
pkill -9 nginx #重新编译 make && make install cd /usr/local/nginx/ [root@localhost nginx]# ./sbin/nginx [root@localhost nginx]# ls sbin/ 出现:nginx nginx.old 编写conf文件: vim conf/nginx.conf #配置服务器 upstream mcserver{ consistent_hash $request_uri; server 127.0.0.1:11214; server 127.0.0.1:11212; server 127.0.0.1:11213; } location / { #设置key set $memcached_key "$uri"; #根据key查找对应的服务器 memcached_pass mcserver; #出错的时候回调php,查找数据库中的数据 error_page 404 /callback.php; } #开启memcached ./usr/local/memcached/bin/memcached -m 64 -p 11211 -vvv 【注意不能是root用户开启】 ./usr/local/memcached/bin/memcached -u nobody -vv -p 11211 开启telnet telnet 127.0.0.1 11211 回车 ctrl+] 打开回显回车。 #修改callback.php $memc->addServer('127.0.0.1',11212); $memc->addServer('127.0.0.1',11213); $memc->addServer('127.0.0.1',11214); #在php.ini中添加 memcache.hash_strategy=consistent 杀掉PHP进程 pkill -9 php 重新启动php-fpm /usr/sbin/php-fpm 【注意】upstream 做负载均衡时要用IP或者 远程主机名,不能用localhost.