Linux环境安装Memcached

一、Linux环境下Memcached服务器端的安装

1、环境准备
(1)libevent包,下载地址:http://libevent.org/
(2)Memcached包,下载地址:http://memcached.org/downloads

2、安装包下载说明
(1)使用wget下载源文件
(2)浏览器打开上述网址,直接下载到本地即可。

3、Linux下安装Memcached详细方法
(1)分别下载Memcached和libevent包,放到/tmp目录下。
(2)、先安装libevent

cd /tmp
tar zxvf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure --prefix=/usr
make
sudo make install

(3)、测试libevent是否安装成功

# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 5月 12 17:38 libevent-2.0.so.5 -> libevent-2.0.so.5.1.9
-rwxr-xr-x 1 root root 263546 5月 12 17:38 libevent-2.0.so.5.1.9

说明:出现以上服务证明libevent安装成功。
(4)、安装memcached,同时需要安装中指定libevent的安装位置

cd /tmp
tar zxvf memcached-1.4.24.tar.gz
cd memcached-1.4.24
./configure --with-libevent=/usr
make
sudo make install

如果中间出现报错,请仔细检查错误信息,按照错误信息来配置或者增加相应的库或者路径。
安装完成后会把memcached放到 /usr/local/bin/memcached。
(5)、测试memcached是否成功安装

# ls -al /usr/local/bin/mem*
-rwxr-xr-x 1 root root 137986 5月 12 17:39 /usr/local/bin/memcached

说明:出现以上服务证明Memcached安装成功。

二、安装Memcache的PHP扩展

(1)下载相应版本的memcache,下载地址:http://pecl.php.net/package/memcache
(2)安装php的memcache扩展

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

(3)安装完后有如下提示。

Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/

(4)把php.ini中的extension_dir = “./“修改为

extension_dir = "/usr/local/php/lib/php/extensions/no-debug-non-zts-2007xxxx/"

(5)添加一行来载入memcache扩展:extension=memcache.so

三、memcached的基本设置

1、启动Memcache的服务器端

# /usr/local/bin/memcached -d -m 10 -u root -l 192.168.0.200 -p 12000 -c 256 -P /tmp/memcached.pid
命令 说明
-d 选项是启动一个守护进程
-m 分配给Memcache使用的内存数量,单位是MB,这里是10MB
-u 运行Memcache的用户,这里是root
-l 监听的服务器IP地址,如果有多个地址的话,这里指定了服务器的IP地址192.168.0.200
-p 设置Memcache监听的端口,这里设置了12000,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024,这里设置了256,按照你服务器的负载量来设定
-P 是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid

2、如果要结束Memcache进程,执行

# kill `cat /tmp/memcached.pid`

也可以启动多个守护进程,不过端口不能重复。

3、重启apache,service httpd restart

四、Memcached测试示例

<?php
$mem = new Memcache;
$mem->connect("127.0.0.1", 11211);
$mem->set('key', 'Test yanfadi!', 0, 60);
$val = $mem->get('key');
echo $val;
?>

说明:如果输出“Test yanfadi!”,就说明安装成功!