1、首先更新你的服务器软件
# yum -y update
2、安装libevent和开发包
由于Memcached是基于libevent库实现的网络通讯部分的功能,因此,首先就要安装libevent库的相关包。
官网:http://www.monkey.org/~provos/libevent/
当前版本:1.4.10-stable 2.0.1-alpha
安装方法
方法一: YUM安装( 个人推荐 )
CentOS 5.* 以后的操作系统最用户使用舒服的,莫过于YUM了。回想以前在RedHat9和后来的AS3,AS4做系统维护的时候,升级一下软件包,或在生产环境中编译程序缺少GCC,在源码光盘中,痛苦找包的经历。现在的YUM真是让人很幸福啊。
#yum install libevent libevent-devel
说明:安装devel包的原因是,考虑到后期可能的一些应用会使用到libevent相关库进行编译活动,因此,顺带就将该软件包安装上。( 事实上,下一步Memcached的安装就将采用源代码编译,需要libevent-devel包的支持 )
方法二:源代码编译安装
#wget http://www.monkey.org/~provos/libevent-1.4.14b-stable.tar.gz & #tar xzf libevent-1.4.14b-stable.tar.gz #cd libevent-1.4.14b-stable
便于维护,我建议采用源代码编译的程序同样使用相同的路径进行安装配置。
# ./configure - -prefix=/usr/lib #make #make install
检测libevent安装情况:
# ls -al /usr/lib | grep libevent
显示结果为:
lrwxrwxrwx 1 root root 21 05-23 21:38 libevent-1.4.so.2 -> libevent-1.4.so.2.1.3 -rwxr-xr-x 1 root root 104804 03-31 21:19 libevent-1.4.so.2.1.3 -rw-r--r-- 1 root root 130350 03-31 21:18 libevent.a lrwxrwxrwx 1 root root 26 05-23 21:38 libevent_core-1.4.so.2 -> libevent_core-1.4.so.2.1.3 -rwxr-xr-x 1 root root 34820 03-31 21:19 libevent_core-1.4.so.2.1.3 -rw-r--r-- 1 root root 44868 03-31 21:18 libevent_core.a lrwxrwxrwx 1 root root 26 08-05 11:51 libevent_core.so -> libevent_core-1.4.so.2.1.3 lrwxrwxrwx 1 root root 27 05-23 21:38 libevent_extra-1.4.so.2 -> libevent_extra-1.4.so.2.1.3 -rwxr-xr-x 1 root root 84180 03-31 21:19 libevent_extra-1.4.so.2.1.3 -rw-r--r-- 1 root root 102266 03-31 21:18 libevent_extra.a lrwxrwxrwx 1 root root 27 08-05 11:51 libevent_extra.so -> libevent_extra-1.4.so.2.1.3 lrwxrwxrwx 1 root root 21 08-05 11:51 libevent.so -> libevent-1.4.so.2.1.3
3.安装memcached
由于搜索了YUM软件库中,没有memcached包存在。
因此,memcached我们采用源代码编译安装的方式进行。
官方网站:http://memcached.org/
当前版本:v1.4.5
#wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz & #tar xzf memcached-1.4.5.tar.gz #cd memcached-1.4.5 #./configure #make #make install
检测memcached安装情况:
#cd /usr/local/bin/ # ll -al mem*
显示结果为
-rwxr-xr-x 1 root root 202065 08-05 15:32 memcached
启动memcached服务
#/usr/local/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是10MB,
-u是运行Memcache的用户,我这里是root,
-l是监听的服务器IP地址,如果有多个地址的话,由于是本地开发( 非实际运行环境 )这里指定了服务器的IP地址127.0.0.1,
-p是设置Memcache监听的端口,这里设置了11211,最好是1024以上的端口,
-c选项是最大运行的并发连接数,默认是1024,这里设置了256,按照服务器的负载量来设定,
-P是设置保存Memcache的pid文件,这里是保存在 /tmp/memcached.pid,
结束memcached进程
4、安装memcached的PHP扩展
虽然安装好了memcached,但是,php还没有办法直接使用memcached。当然,如果你想重复造轮子的话,可以自己写个类,完全实现memcached的通讯协议。
目前,PHP中使用最多的是PHP的PECL的Memcached的扩展。php-pecl-memcache
#wget http://pecl.php.net/get/memcache-2.2.5.tgz & #tar xzf memcache-2.2.5.tgz #cd memcache-2.2.5
发现没有安装phpize
#yum install php-devel
使用phpize编译( rpm包安装,phpize默认配置到了系统环境变量中,因此后续操作没有加phpize的路径 )
当前目录是memcache-2.2.5的解压后的源代码目录
#phpize #./configure --enable-memcache --with-php-config=/usr/bin/php-config --with-zlib-dir #make #make install
在php.ini文件中加入
extension_dir = "/usr/lib/php/modules/" extension=memcache.so
检测php-pecl-memcache的安装情况
#php -m
显示结果为
…… mcrypt memcache mysql mysqli ……
这样就表示PHP正确识别了该对应版本的PECL的memcache的扩展模块。下面只要重启Apache服务,使得所有配置生效。我们可以建立一个测试文件在命令行或者一个测试站点上进行Memcache的调用测试了。
5.下面,访问memcache.php页面,就能看到当前Memcached的使用详情了。
下载memcache.php:
http://livebookmark.net/memcachephp/memcachephp.zip
更改memcache.php的配置,将原有的如下数组,根据实际情况修改
找到
$MEMCACHE_SERVERS[] = 'mymemcache-server1:11211'; // add more as an array
改为
$MEMCACHE_SERVERS[] = '127.0.0.1:11211'; // add more as an array
大功告成剩下的你自己搞定吧!配置程序与它关联即可