您好,登錄后才能下訂單哦!
1、首先在https://www.nginx.com/resources/wiki/modules/consistent_hash/官網下載ngx_http_upstream_consistent_hash
2、解壓unzip master.zip 得到ngx_http_consistent_hash-master文件夾
3、重新編譯nginx
先用/Data/apps/nginx/sbin/nginx -V 看一下原來的編譯選項 還用原來的編譯選項進行安裝先停掉nginx服務
./configure --prefix=/Data/apps/nginx --with-pcre=/usr/local/src/pcre-8.00 --with-zlib=/usr/local/src/zlib-1.2.11 --add-module=/usr/local/src/ngx_http_consistent_hash-master
加上ngx_http_consistent_hash的選項之后 make && make install
4、nginx 配置一組memcached上游服務器
通過memcached_pass指令指定服務器組
并且通過error_page 404 = /callback.php指定沒有加載到緩存的時候的回調頁面 在回調頁面中也以一致性哈希的方式讀取和設置緩存。如果裝的是memcache擴展
upstream memcacheserver {
consistent_hash $request_uri;
server 127.0.0.1:11211;
server 127.0.0.1:11212;
server 127.0.0.1:11213;
}
server {
listen 7000;
server_name 47.93.5.10;
root /Data/sijunjie/web;
index index.html;
location / {
default_type text/html;
set $memcached_key "$uri?$args";
memcached_pass memcacheserver;
error_page 404 = /callback.php;
}
location ~ \.php$ {
root /Data/sijunjie/web;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root/$fastcgi_script_name;
include fastcgi_params;
}
}
5、配置php
extension=/Data/apps/php/lib/php/extensions/no-debug-non-zts-20131226/memcache.so
memcache.hash_strategy=consistent(這個指令會使用一致性哈希方式分布key)這樣就可以和nginx保持一致了
6、callback.php里面的處理存取 由于第5步配置了一致性哈希的分布 這里添加的三臺服務器和nginx中保持一致。
$memcache = new Memcache();
$memcache->addServer('127.0.0.1', 11211);
$memcache->addServer('127.0.0.1', 11212);
$memcache->addServer('127.0.0.1', 11213);
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。