一、下载安装libevent
cd /usr/local/src
wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz
zvfx libevent-1.4.13-stable.tar.gz
cd libevent-1.4.13-stable
./configure --prefix=/usr
make
mak install
二、下载安装memcached
cd /usr/local/src/
wget http://memcached.googlecode.com/files/memcached-1.4.5.tar.gz
tar zvfx memcached-1.4.5.tar.gz
cd memcached-1.4.5
./configure --prefix=/usr/local/app/mem --with-libevent=/usr
make
make install
三、运行memcached
/usr/local/app/mem/bin/memcached -d -u nobody -m 512 127.0.0.1 -p 11211 &
发生如下错误:
error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
错误原因:
默认的memcached在目录/usr/lib64/找不到libevent,所以报错
解决办法:
cp -R /usr/lib/libevent* /usr/lib64/
解决后,执行命令
/usr/local/app/mem/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,
2.如果要结束Memcache进程,执行:
kill `cat /tmp/memcached.pid`
启动时运行:
vi /etc/rc.local
插入如下命令:
/usr/local/app/mem/bin/memcached -d -m 10 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid &
四、安装PHP的memcache扩展
1.下载memcach扩展
http://pecl.php.net/package/memcache
cd /usr/local/src/
wget http://pecl.php.net/get/memcache-2.2.5.tgz
tar zvfx memcache-2.2.5.tgz
cd memcache-2.2.5
/usr/local/bin/phpize
./configure --enable-memcache --with-php-config=/usr/local/bin/php-config --with-zlib-dir
make
make install
2.修改php.ini
[memcache]
extension=/usr/local/lib/php/extensions/no-debug-non-zts-20060613/memcache.so