一、首先搭建lnmp平台,这里不再演示。通过php页面来进行测试如下:
[root@node1 ~]# vim /usr/local/nginx/html/info.php <?php
$link=mysql_connect("localhost","root","");
if(!$link) echo "FAILD!连接错误,用户名密码不对";
else echo "OK!可以连接";
?> [root@node1 ~]# curl http://localhost/info.php
OK!可以连接
二、安装memcached服务端
[root@node1 ~]# yum install memcached -y
[root@node1 ~]# service memcached start
正在启动 memcached: [确定]
[root@node1 ~]# netstat -ntplu | grep :
tcp 0.0.0.0: 0.0.0.0:* LISTEN /memcached
udp 0.0.0.0: 0.0.0.0:* /memcached
三、需要对php扩展memcahced模块才能使用memcahced服务端存取数据。
php 有两种模块提供了对memcached服务的支持:
1. memcache 模块
2. memcached 模块
二者的区别:安装memcache扩展的时候,并不要安装其他的库文件等,但在安装memcached的时候会要求安装libmemcached,而libmemcahed具有的优点是低内存,线程安全等特征。
在高并发下memcached比memcache抗压能力要更好。
memcached直接配置了session支持,只要稍微修改下配置文件就可以把session存储在memcache中。
(1) 安装memcached扩展
[root@node1 src]# tar xf libmemcached-1.0..tar.gz
[root@node1 src]# cd libmemcached-1.0.
[root@node1 src]# ./configure --prefix=/usr/local/libmemcached --with-memcached
[root@node1 src]# make && make install [root@node1 src]# tar xf memcached-2.2..tgz
[root@node1 src]# cd memcached-2.2.
[root@node1 memcached-2.2.]# /usr/local/php/bin/phpize
Configuring for:
PHP Api Version:
Zend Module Api No:
Zend Extension Api No:
[root@node1 memcached-2.2.]# ./configure --prefix=/usr/local/php-memcached --with-libmemcached-dir=/usr/local/libmemcached/ --with-php-config=/usr/local/php/bin/php-config --disable-memcached-sasl
# --disable-memcached-sasl 可能是通过yum安装的memcached服务端程序版本太低造成的,检查是需要禁止此项。
[root@node1 memcached-2.2.]# make && make install
[root@node1 ~]# mkdir /usr/local/php/etc/php.d
[root@node1 ~]# vim /usr/local/php/etc/php.d/memcached.ini
extension = /usr/local/php/lib/php/extensions/no-debug-zts-/memcached.so [root@node1 ~]# service php-fpm restart
这样就为php添加了访问memcache服务器的扩展模块,使用phpinfo();就可以查看,或者使用php -m
[root@node1 ~]# /usr/local/php/bin/php -m | grep memcached
memcached