linux安装memcached(不错)
http://wlog.cn/tag/%E7%BC%93%E5%AD%98/1、安装libevent:
下载地址:http://monkey.org/~provos/libevent/
安装位置:/usr/local/libevent (根据自己喜好而定,建议外部程序库都装到/usr/local对应的目录下)
安装过程:
#下载解压
$ wget http://monkey.org/~provos/libevent-1.4.13-stable.tar.gz
(请在安装时选择最新稳定版http://monkey.org/~provos/libevent/)
$ tar -xvf libevent-1.4.13-stable.tar.gz
$ cd libevent-1.4.13-stable
#安装
$ ./configure --prefix=/usr/local/libevent
$ make
$ make install
2、安装Memcache
下载地址:http://www.danga.com/memcached/download.bml
安装位置:/usr/local/memcached (根据自己喜好而定,建议外部程序库都装到/usr/local对应的目录下)
安装过程:
#下载解压
$ wget http://memcached.googlecode.com/files/memcached-1.4.4.tar.gz(请在安装时选择最新稳定版)
$ tar -xvf memcached-1.4.4.tar.gz
$ cd memcached-1.4.4
#安装
$ ./configure --prefix=/usr/local/memcached -with-libevent=/usr/local/libevent
$ make
$ make install
3、安装php的memcache扩展
下载地址:http://pecl.php.net/package/memcache
安装过程:
#下载解压
$ wget http://pecl.php.net/get/memcache-2.2.5.tgz(请在安装时选择最新稳定版)
$ tar -xvf memcache-2.2.5.tgz
$ cd memcache-2.2.5
#安装
$ /usr/local/php5/bin/phpize (phpize 命令是用来准备 PHP 外挂模块的编译环境的)
./configure -enable-memcache -with-php-config=/usr/local/php5/bin/php-config --with-zlib-dir
(
./configure -enable-memcache -with-php-config=/usr/local/php/bin/php-config --with-zlib-dir
/usr/local/memcached/bin/memcached -d -m 2048 -u root -l 127.0.0.1 -p 11211 -c 1000 -P /tmp/memcached.pid
1G=1024MB
)
$ make
$ make install
上述安装完后会有类似这样的提示:Installing shared extensions: /usr/local/php/lib/php/extensions/no-debug-non-zts-20060613/,含义是将 memcache扩展安装到上面这个目录了。
现在就需要修改php.ini了,$ vi /usr/local/lib/php.ini (需要先找到当前php所使用的ini文件),将php.ini中的extension_dir = “./” 修改为:extension_dir = “/usr/local/php/lib/php/extensions/no-debug-non-zts-xxxxx/”
注意:extension_dir目录根据你安装时上一步中的提示而定,不要直接复制本例的值。
当 然,如果你觉得这个目录很别扭,你可以在你觉得合适的位置新建一个php的extentions目录,然后将上边目录中的memcache.so拷贝到你 新见的目录中,当然php.ini中的extension_dir也要改为你新建的目录。然后在后面加上一 行,extension=memcache.so
可以通过php命令查询扩展是否安装成功,如:
$ /usr/local/php/bin/php -m
(这个命令会列出全部可使用的扩展,注意您的php安装目录,我的在/usr/local/php/目录下)
安装成功后查看phpinfo();
http://wlog.cn/usr/uploads/2010/03/memcache-phpinfo-580x301.gif
4、启动memcached守护进程
$ /usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
-d 启动一个守护进程
-m 限制内存大小,以M为单位,默认64M
-l 监听的服务器IP
-p 监听的端口,默认 11211
-c 并发连接数,默认是256
-P 保存进程编号的文件
如果要结束Memcache进程,执行
$ kill `cat /tmp/memcached.pid`
可能遇到的错误: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
解决办法:
1. 首先 find / -name libevent-1.4.so.2 找到缺少的链接文件到底在那儿。
2. LD_DEBUG=libs /usr/local/memcached/bin/memcached -v
3. 从Debug信息中就知道程序去哪里找链接库了。我这边程序去 trying file=/usr/lib/libevent-1.4.so.2 而我的链接库的实际存储位置是 /usr/local/libevent/lib/libevent-1.4.so.
4. 做一个软连接 ln -s /usr/local/libevent/lib/libevent-1.4.so.2 /usr/lib/libevent-1.4.so.2 (或者将libevent-1.4.so.2复制到/usr/lib/下也可以)
5、测试memcache
< ?php
$mem = new Memcache;
$mem->connect('127.0.0.1', 11211);//更改为您的服务器ip和相应端口
$mem->set('key', 'this is a test', 0, 60);
$val = $mem->get('key');
echo $val;
?>
运行该页面,如果出现“This is a memcache test!”表示成
6、加入开机启动
编辑 /etc/rc.local
在行尾加入
/usr/local/memcached/bin/memcached -d -m 64 -u root -l 127.0.0.1 -p 11211 -c 256 -P /tmp/memcached.pid
7、监控memcached
memcached监控程序下载
这 是一个memcached运行情况的小工具,可以在web方式下,监控memcached当前的缓存区使用 ,缓存命中率,并可在线查看缓存数据。您可以下载用于memcached状 态监控的php程序,解压上面文件,按照您的需要修改以下配置,请将其重命名为memcached.php,放入能够通 过web访问的目录,对memcached的运行状态进行监控。
// 访问监控程序的用户名
define('ADMIN_USERNAME','admin');
// 访问监控程序的密码
define('ADMIN_PASSWORD','admin');
// 显示的时间格式
define('DATE_FORMAT','Y/m/d H:i:s');
//展示缓存状态时生成的饼图的大小
define('GRAPH_SIZE',200);
//在查看item列表时,最多显示的item数目
define('MAX_ITEM_DUMP',50);
// 将希望监控的更多memcached服务器添加为数组元素
$MEMCACHE_SERVERS[] = '127.0.0.1:11211';
今天在CentOS64位上安装memcache,遇到error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory
1. 首先 find / -name libevent-1.4.so.2 找到缺少的链接文件到底在那儿。
2. LD_DEBUG=libs /usr/local/bin/memcached -v
3. 从Debug信息中就知道程序去哪里找链接库了。我这边程序去 trying file=/usr/lib64/libevent-1.4.so.2 而我的链接库的实际存储位置是 /usr/local/lib/libevent-1.4.so.2
4. 做一个软连接 ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2
页:
[1]