linux下安装memcache
一:先安装libevent,否则不会通过,当然可能系统自己已经安装了,最好我们下载最新的稳定版本
1:memcached需要用到socked,依赖此安装libevent,下载最新稳定版本:http://libevent.org/
2:我这里用libevent-2.0.15-stable.tar.gz
3:安装libevent
# tar -zxvf libevent-2.0.15-stable.tar.gz # cd libevent-2.0.15-stable # ./configure --prefix=/usr/local/lib/libevent-2.0.5 # make # make install
二:安装memcached,我这里选用 memcached-1.4.10,下载地址:http://memcached.org/
# tar -zxvf memcached-1.4.10.tar.gz # cd memcached-1.4.10 # ./configure --prefix=/usr/local/memcached --with-libevent=/usr/local/lib/libevent-2.0.5/
出现问题:: error: newly created file is older than distributed files',系统时间有问题,修改系统时间为当前时间
# date -s "2011-12-10 12:00:00"
修改完后,记得输入:clock -w //将系统时间写入到硬件里
然后在编译,OK,全部通过
启动:
/usr/local/memcached/bin/memcached -d -m 256 -u root -l localhost -p 11211 -c 256
ps -ef |grep memcached//可以看到,下面启动成功,第一条
root 15297 1 0 16:47 ? 00:00:00 /usr/local/memcached/bin/memcached -d -m 256 -u root -l localhost -p 11211 -c 256
root 15304 24888 0 16:47 pts/0 00:00:00 grep memcached
如果要停止的话,kill 15297 即可,对应上面的
我们可以做一个启动的脚本,启动的时候运行这个脚本即可 vi memcached.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/libevent-2.0.5/
/usr/local/memcached/bin/memcached -d -m 256 -u root -l localhost -p 11211 -c 256
然后给 memcached.sh 加执行权限 chmod +x memcached.sh,放在你想放的目录里,kill 掉memcached后,执行运行这个文件,即可启动
二:安装PHP的Memcached扩展
不按照扩展的话,用memcached-client.php也可以,不过从性能上,前者要快一些,所以我们还是安装php的memcache的扩展
下载地址,http://pecl.php.net/get/memcache 我下载的是memcache-3.0.6.tgz
# gzip -d memcache-3.0.6.gz # tar xvf memcache-3.0.6.tar # cd memcache-3.0.6 # /usr/local/php/bin/phpize # ./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir //php安装目录 # make && make install
instll之后,会输出一段数据,记住,复制下来,比如我这里是:
/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/
然后打开php.ini加入上面那段信息和so文件:
extension_dir ="/usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/"
extension=memcache.so
重启apache,phpinfo查看,即可看到扩展信息!安装成功!
如果要从另外一台服务器上访问,必须把11211添加到防火墙
# vi /etc/sysconfig/iptables
把其中的一个端口信息复制,然后改成11211
重启即可:
/etc/init.d/iptables restart