导语:memcached可以将数据库表里的数据和网页的数据缓存到内存中,这样就能加快网页打开速度。我们在使用WordPress时候,如果有条件,就一定要装上memcached。memcached的安装分为服务端和客户端的安装,我们来看看安装步骤和应该注意的问题。
叶子这次是在XAMPP的环境下安装的memcached,以下环境皆为:centos 7 64 + xampp (PHP7)。不再另外说明。
安装memcached服务端
memcached服务端服务端的安装相对简单,对于centos 7 64位的操作系统,使用yum命令来安装就可以了。安装后将它加入开机自启动。
1、安装memcached服务端
yum install -y memcached
2、启动memcached服务端
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root
3、加入开机自启动
vi /etc/rc.d/rc.local
在/etc/rc.d/rc.local,最后面增加下面的代码:
#memcahed /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root
这个命令的意思就是,-d 守护进程模式(退出终端窗口之后使程序还在运行),-l 指定IP地址127.0.0.1 ,-p 指定端口号11211,-m 为memcached分配多少内存(单位:M),-u 指定使用哪个用户启动memcached。
注意,如果开机没有启动,请检查你的/etc/rc.d/rc.local有没有执行权限,如果没有执行权限,请用下面的命令增加:
chmod +x /etc/rc.d/rc.local
4、查看memcached服务端是否在运行
ps -ef | grep memcached
或
pstree -p | grep memcached
如果能够看到存在memcached进程,那就说明我们的 memcached 服务端已经安装成功了。
安装memcached客户端
安装memcached客户端分为两步:1、libmemcached 客户端库的安装;2、为PHP安装 php-memcached 扩展;
1、libmemcached 客户端库的安装
libmemcached 客户端库的安装相当简单,使用yum来安装。当然你也可以下载后编译安装,下载地址如下:
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
叶子这次用的是yum安装,结果遇到了一个坑,折腾了好久才安装成功。下面是命令:
yum -y install libmemcached-devel
2、为PHP7安装php-memcached扩展
- 切换目录
cd /usr/local/src/
- 用git下载专门的php7扩展。因为叶子安装的是PHP7,所以一定要使用php-memcached的php7分支,不然装了php-memcached也不能用。
git clone https://github.com/php-memcached-dev/php-memcached -b php7
- 下载完成后切换到php-memcached目录下,注意,要切换到这个目录下。
cd php-memcached
- 执行下面的命令生成configure文件。注意git下来的文件夹里面是没有configure的,必须用下面的命令生成。
/opt/lampp/bin/phpize
- 阿里云配置的centos7 64位操作系统是没有安装zlib的,所以要安装zlib。如果你已经安装过了,就无需安装了。
yum -y install zlib-devel
如果不安装zlib,跳过直接执行下一步会报错。错误为:
checking for zlib location... configure: error: memcached support requires ZLIB. Use --with-zlib-dir=<DIR> to specify the prefix where ZLIB headers and library are located
- 注意,下面的命令还是要在/usr/local/src/php-memcached下执行。
./configure --with-libmemcached-dir=/usr --with-php-config=/opt/lampp/bin/php-config --disable-memcached-sasl
这里要注意的是,如果你是从网上找的一些语句,他们没有采用yum来安装libmemcached,而是直接下载包来安装的,那么–with-libmemcached-dir上它指定的目录可能会是:/usr/lib/libmemcached或/usr/include/libmemcached,那么在你采用了yum安装了libmemcached后,运行./configure的时候会报错:
checking for libmemcached location... configure: error: Unable to find memcached.h under /usr/lib/libmemcached。
原因是,安装程序会在你指定的目录下面的 include/libmemcached 的目录里面去找memcached.h,那么它查找的目录就会变成/usr/lib/libmemcached/include/libmemcached/memcached.h,那么肯定就会报错了。
简单点说,如果你使用的是直接下载包来安装libmemcached,那么你就在这里使用–with-libmemcached-dir=/usr/lib/libmemcached。
如果,你使用的是yum安装libmemcached,那么你就在这里使用–with-libmemcached-dir=/usr。 - 使用命令 make来编译生成memcached.so
make && make install
命令执行后,会提示你已经生成的memcached.so可以在/opt/lampp/lib/php/extensions/no-debug-non-zts-20151012/找到。
- 在php.ini中添加下面的行,然后重启apache。
extension=memcached.so
最后你打开phpinfo就能看到你的memcached的php扩展安装成功了。
结束
如果你还需要为WordPress来启用memcached,那么请参见:如何优化WordPress以加速网页打开速度?使用OPcache和memcached的注意事项。