您当前的位置: 首页 > 学无止境 > 心得笔记 网站首页心得笔记
nginx-nginx连接(直连)memcached
发布时间:2017-11-23 12:24:09编辑:雪饮阅读()
(1)、编译安装memcached后非后台模式运行memcached并显示详细信息,便于后面nginx直连memcached或php对memcached的查询以及其它操作的观察。
./bin/memcached -u nobody -vv
(2)、将之前交给apache处理php的location重新修改为本地的php-fpm进行处理
location ~ \.php$ {
root html;
fastcgi_pass 127.0.0.1:9000;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
(3)、编译安装memcached扩展与fastphp关联
将普通匹配”/”的location修改为直连memcached:
location / {
set $memcached_key "$uri";
memcached_pass 127.0.0.1:11211;
}
这里的$uri将获取地址栏域名后的字符,包含”/”
然后该location会将获取的$uri做为memcached的key向memcached请求,并将请求的值做为nginx的输出给客户端。
例如uri的值为”/user1.html”则memcached中必须有key为”/user1.html”才可以请求到结果,否则就是404。
(4)给location添加回调。要达到的目标不仅仅只是请求memcached,而是在memcached请求key不存在的时候去数据库中请求数据,并将请求结果再以刚才请求的不存在的key做为key名添加到memcached中去。这样以来,就会将数据库的一部分压力分担到了memcached中去了。
location添加回调:
location / {
set $memcached_key "$uri";
memcached_pass 127.0.0.1:11211;
error_page 404 /callback.php;
}
然后在根目录建立callback.php的回调脚本。
回调脚本见附件。
关键字词:nginx,memcached,连接,直连
下一篇:nginx-nginx日志管理