1、下载memcached服务器端安装文件,版本: memcached-1.4.15.tar.gz。
2、下载libevent,memcached需要用到socket,依赖此安装文件。版本: libevent-1.4.12-stable.tar.gz。
3、由于linux系统可能默认已经安装libevent,执行命令:
rpm -qa|grep libevent查看系统是否带有该安装软件。如果有执行命令:
rpm -e libevent-1.1a-3.2.1 –nodeps(由于系统自带的版本旧,忽略依赖删除)
查看一个rpm包中的文件安装到那里去了?
rpm -ql 包名注意这里的是不包括.rpm后缀的软件包的名称,例如:rpm -ql libevent-1.4.13-4.el6.i686
4、安装libevent:
tar zxvf libevent-2.0.20-stable.tar.gz
cd libevent-2.0.20-stable
./configure –prefix=/usr/local/libevent
make && make install
5、安装memcached:
tar zxvf memcached-1.4.15.tar.gz
cd memcached-1.4.15
./configure –prefix=/usr/local/Memcached –with-libevent=/usr/local/libevent/
make && make install
至此memcached安装完毕
6、测试
当启动memcached时经常不能发现libevent.so;可以通过以下命令检查:
进入/usr/local/memcached-1.4.15/bin目录
LD_DEBUG=help ./memcached -v
LD_DEBUG=libs ./ memcached -v解决方法:
ln -s /usr/local/libevent-1.4/lib/libevent-1.4.so.2 /lib64/libevent-1.4.so.2
7、启动memcache:
./memcached -help
./memcached -d -m 1024 -u root -p 11211 -c 1024 -P /tmp/memcached.pid启动参数说明:
-d 选项是启动一个守护进程,
-m 是分配给Memcache使用的内存数量,单位是MB,默认64MB
-M return error on memory exhausted (rather than removing items)
-u 是运行Memcache的用户,如果当前为root 的话,需要使用此参数指定用户。
-l 是监听的服务器IP地址,默认为所有网卡。
-p 是设置Memcache的TCP监听的端口,最好是1024以上的端口
-c 选项是最大运行的并发连接数,默认是1024
-P 是设置保存Memcache的pid文件
-fchunk size growth factor (default: 1.25)
-I Override the size of each slab page. Adjusts max item size(1.4.2版本新增)
也可以启动多个守护进程,但是端口不能重复
8、停止Memcache进程:
kill `cat /tmp/memcached.pid`
9、PHP—Memcache模块的编译安装:
Memcache的PHP模块下载地址:http://pecl.php.net/package/memcache
# tar -vxzf memcache-3.0.6.tgz
# cd memcache-3.0.6.tgz
# /usr/local/PHP/bin/phpize
# ./configure –enable-memcache –with-php-config=/usr/local/PHP/bin/php-config –with-zlib-dir
# make
# make install
安装完后会有类似这样的提示:
Installing shared extensions: /usr/local/PHP/lib/php/extensions/no-debug-zts-20090626/
把这个记住
然后修改php.ini
把
extension_dir = "./"
修改为
extension_dir = "/usr/local/PHP/lib/php/extensions/no-debug-zts-20090626/"
并添加一行
extension=memcache.so