时间:2021-07-01 10:21:17 帮助过:21人阅读
在一个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的连接。
php本不支持操作memcahce,需要安装一个接口。
http://pecl.php.com/package/memcache下载memcache-2.2.7.tgz
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里,可以验证安装
location / { set $memcached_key "$uri"; memcached_pass 127.0.0.1:11211; error_page 404 /callback.php; }
以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!
相关推荐:
php中imagettfbbox和imagettftext 文字图片自动换行的方法
PHPstorm配置PHPunit对composer引入的php代码进行单元测试
以上就是nginx memcache缓存的介绍的详细内容,更多请关注Gxl网其它相关文章!