导语:叶子的一位客户使用的是ubuntu 12.04的操作系统,php的版本为5.6,叶子为了提供网页的响应速度为他安装了memcached,把数据和网页加载到内存。下面是安装过程。
安装memcached服务端
通过apt-get的方式来安装。这与centos的不同,centos的系统是yum。
apt-get install memcached
启动memcached服务端,使用了memcache用户来启动。
memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
或者使用root用户来启动,都是可以的。
memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root
将memcached服务端加入开机启动,ubuntu 12.04上需要打开/etc/init.d/rc.local来添加,这与centos的也不一样。
vi /etc/init.d/rc.local /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
或者用root用户来启动。
/usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 64 -u root
安装memcached客户端
客户端的安装分为安装libmemcached和php的memcached扩展。
我们先安装libmemcached,切换目录。
cd /usr/local/src/
下载libmemcached包。考虑到是php5.6,它只能用php-memcached 2.2.0,为了兼容,所以只下载了libmemcached-1.0.18。其实,libmemcached已经有更新的版本了。
wget https://launchpad.net/libmemcached/1.0/1.0.18/+download/libmemcached-1.0.18.tar.gz
解压libmemcached-1.0.18。
tar -zxf libmemcached-1.0.18.tar.gz
切换目录到libmemcached-1.0.18。
cd libmemcached-1.0.18
开始编译安装。
./configure make make install
安装完成后,我们找一下memcached.h是在那个目录的,等下要用。
find / -name memcached.h /usr/local/include/libmemcached/memcached.h /usr/local/include/libmemcached-1.0/memcached.h /usr/local/include/libmemcached-1.0/struct/memcached.h /usr/local/src/libmemcached-1.0.18/libmemcached/memcached.h /usr/local/src/libmemcached-1.0.18/libmemcached-1.0/memcached.h /usr/local/src/libmemcached-1.0.18/libmemcached-1.0/struct/memcached.h /usr/local/src/libmemcached-1.0.18/libtest/memcached.h
切换目录。
cd /usr/local/src/
下载php的扩展memcached-2.2.0。如果你是php7,请使用memcached 3x。
wget -c http://pecl.php.net/get/memcached-2.2.0.tgz
解压memcached-2.2.0的包。
tar -zxf memcached-2.2.0.tgz
切换目录到memcached-2.2.0。
cd memcached-2.2.0
在此目录下执行phpize。如果不知道phpize在什么地方,可以用find命令来查找。
/usr/local/php-5.6/bin/phpize
还是在此目录执行./configure。–with-libmemcached-dir的目录就是你刚刚查找出来的memcached.h的目录,它是上面的第一条。include/libmemcached/是编译时会自动查找的目录,所以我们只需要填上/usr/local/就可以了。
./configure --with-php-config=/usr/local/php-5.6/bin/php-config --with-libmemcached-dir=/usr/local/ --disable-memcached-sasl Build complete. Don't forget to run 'make test'. Installing shared extensions: /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/
编译安装成功后,它提示在/usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/。我们可以用find来查找一下memcached.so。
find / -name memcached.so /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so /usr/local/src/memcached-2.2.0/modules/memcached.so /usr/local/src/memcached-2.2.0/.libs/memcached.so
用vi打开php.ini文件,如果你不知道使用的那个php.ini文件,可以使用phpinfo.php来查看。
vi /home/wwwroot/lamp/etc/php.ini
在php.ini末尾添加下面的代码。
extension = /usr/local/php-5.6/lib/php/extensions/no-debug-non-zts-20131226/memcached.so
重启php-fpm
ps aux|grep php-fpm kill -USR2 11473
结束
你学会了吗?在ubuntu下安装memcached,与centos系统下的安装是有一点不同的。