nginx memcache缓存

1 基本

在一个lnmp架构中,nginx遇到动态资源,会反向代理,把请求发送到后端的php-fpm服务,php-fpm从mysql里读取数据,生产网页,然后返回给client。

如果流量大,php-fpm和mysql就会成为瓶颈,解决方案是增加一个memcached缓存。

nginx首先把$uri作为key,去memcached里查询value值,命中就直接把value返回给client。如果没有,则再通过php-fpm。php-fpm把数据返回给client,并在memcached里存放一份。

所以,这里需要nginx和memcached的连接,php和memcached的连接。

 

2 php安装memcache扩展模块

php本不支持操作memcahce,需要安装一个接口。

http://pecl.php.net/package/memcache下载memcache-2.2.7.tgz

1
2
3
4
5
6
7
8
yum install m4 autoconf
#安装相关依赖
/app/php/bin/phpize
#运行phpize,不然memcache目录下没有configure文件
 ./configure --with-php-config=/app/php/bin/php-config
#安装扩展模块,使用php-config
 make && make install
#安装

  

安装完后,会生成memcache.so。

php/lib/php.ini文件里,有个动态扩展的地方,把memcache.so加进去,重启php-fpm就行

在info.php里,可以验证安装

 

3 nginx直连memcache

1
2
3
4
5
location / {
     set $memcached_key "$uri";
     memcached_pass 127.0.0.1:11211;
     error_page 404 /callback.php;
}

  

 

posted @   jabbok  阅读(180)  评论(0编辑  收藏  举报
努力加载评论中...
点击右上角即可分享
微信分享提示