linux memcache 安装

张映 发表于 2010-02-03

分类目录: cache, nosql

标签:, , , , ,

一,安装所要的软件

wget http://www.monkey.org/~provos/libevent-1.2.tar.gz #下载libevent

下面是下载memcache服务哭端memcached和php的扩展memcache

http://pecl.php.net/package/memcached

http://pecl.php.net/package/memcache

二,memcached服务器端的安装

1.查看是否已经安装了libevent,一般情况下,装系统的时候libevent就会装进去的。
ls -al /usr/lib | grep libevent

[root@BlackGhost etc]# ls -al /usr/lib | grep libevent
lrwxrwxrwx  1 mysql mysql       21 Mar 25  2009 libevent-1.2.so.1 -> libevent-1.2.so.1.0.3
-rwxr-xr-x  1 mysql mysql   208300 Mar 25  2009 libevent-1.2.so.1.0.3
-rw-r--r--  1 mysql mysql   268992 Mar 25  2009 libevent.a
-rwxr-xr-x  1 mysql mysql      820 Mar 25  2009 libevent.la
lrwxrwxrwx  1 mysql mysql       21 Mar 25  2009 libevent.so -> libevent-1.2.so.1.0.3
如果显示上面内容说明你已安装了,就可以跳过第二步。

2.先安装libevent:

第一种方法
tar zxvf libevent-1.2.tar.gz
cd libevent-1.2
./configure --prefix=/usr
make
make install

第二种方法

用系统自命的软件管理工具,archlinux用pacman,centos用yum ,大便用apt-get等

[root@BlackGhost etc]# pacman -Ss libevent
core/libevent 1.4.11-1
An event notification library

安装完后在进行第一步,进行测试

3.安装memcached服务器端:
tar zxvf memcached-1.2.0.tar.gz
cd memcached-1.2.0
./configure  --with-libevent=/usr   --prefix=/usr/local/memcahced
make
make install
如果有错,请确认一下,local下面有memcahced这个文件夹,以及libevent的安装路径是否正确

4.启动memcached服务

/usr/local/bin/memcached -d -m 20 -u zhangy -p 12000 -P ./memcached.pid

-d #作为守护进程运行

-m#分配20M的内存

-u #用户是zhangy

-p #监听端口是12000

-P#进程PID存放的位置

[zhangy@BlackGhost ~]$ ps -e|grep memcache
17904 ?        00:00:00 memcached

到些memcached的服务器端已经安装

三,php的memcache扩展的安装

1.安装PHP的memcache扩展

tar vxzf memcache-2.2.4.tgz
cd memcache-2.2.4
/usr/local/php/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
make
make install

2.添加一行来载入memcache扩展:

nano /安装路径/lib/php.ini

查找一下,extension_dir,到后面对应的目录里面看一看有没有memcache.so如果有加上

extension=memcache.so

重起nginx,或者php-cgi或者其他。

3.用phpinfo看一下是否安装成功

4.用php来测试一下

<?php
$mem = new Memcache;
$mem->connect("127.0.0.1",12000)or die ("Could not connect");
//$mem->connect("127.0.0.1",13000)or die ("Could not connect");
$mem->set('key', 'This is a test!memcache is work', 0, 60);
$val = $mem->get('key');
//print_r($val);
echo $val;
?>

这个将显示出This is a test!memcache is work



转载请注明
作者:海底苍鹰
地址:http://blog.51yip.com/cache/76.html

1 条评论

  1. kimi 留言

    还不够详细,memcache的用法示例太少。