设为首页 收藏本站
查看: 1002|回复: 0

[经验分享] linux安装memcached(不错)

[复制链接]

尚未签到

发表于 2015-8-31 13:41:16 | 显示全部楼层 |阅读模式
  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();

  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、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-106851-1-1.html 上篇帖子: 【转】 Key/Value之王Memcached初探:三、Memcached解决Session的分布式存储场景的应用 下篇帖子: Memcached入门
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表