联系站长! 傻子-跸西blog 傻子-跸西微blog
顶部

底部
Feed on
Posts
Comments

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 

大功告成剩下的你自己搞定吧!配置程序与它关联即可

有什么想法,说两句吧