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

[经验分享] Memcache的安装遇到的问题

[复制链接]

尚未签到

发表于 2015-11-18 12:06:09 | 显示全部楼层 |阅读模式
  今天以前同事问我如何在Linux下安装Memcache,并告诉我从昨天折腾到现在一直没有安装成功。以前记得安装Memcache时好像没有那么复杂,今天远程连接了他的机器看了下,开始先安装libevent,我怕他的版本太旧就给上传了个最新版本2.0,不过居然编译不通过,但是编译之前的1.4版本能通过。好了,先不纠结在这里,安装完libevent后,再次安装Memcach,执行:
./configure –prefix=/usr/local/memcached –with-event=/usr ---成功
make ---报出如下错误:
.deps/testapp.Tpo -c -o testapp.o testapp.c cc1: warnings being treated as errors testapp.c: In function `test_safe_strtoul': testapp.c:166: warning: decimal constant is so large that it is unsigned make[2]: *** [testapp.o] Error 1 make[2]: Leaving directory`/data/memcached-1.4.5' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/data/memcached-1.4.5' make: *** [all] Error 2
  上网查找原因,最后找到如下解释:
(http://code.google.com/p/memcached/issues/detail?id=133)
Comment 2 by project member dorma...@rydia.net, Apr 22, 2010
That looks like redhat enterprise linux version 3 (RHEL3)?
  If so, we're sorry but the toolchains on there are simply too old to run a modern
version of memcached. You may try running a very old version of the 1.2 or 1.1
series, but we rely on C99 support now.
  I'm assuming this from your kernel version, if this is wrong let us know.
Status: WontFix
Comment 3 by hzi...@gmail.com, Apr 26, 2010
Think you for your comments
  Yes you 're right i succes to install memcached 1.4.5 when i changed my OS to Linux
2.6.18-8.el5PAE i686 athlon i3 86 GNU/Linux. The problem is that i get this error
when i try to get a value from my memcached <<Exception in thread &quot;main&quot;
net.spy.memcached.internal.CheckedOperationTimeoutException: Timed out waiting for
operation - failing node: /xx.xxx.x.xx:11211 >>
  指出导致这种错误的原因是Linux的内核版本过低,查了下朋友的linux内核版本,果真如此,是2.4,换成2.6就ok了。
  
附Memcache的安装步骤:
去官网下载libevent和Memcache
1.安装libevent:
# tar zxvf ibevent-2.0.10-stable.tar.gz
# cd ibevent-2.0.10-stable
# ./configure –prefix=/usr
# make
# make install
测试libevent是否安装成功:
# ls -al /usr/lib | grep libevent
lrwxrwxrwx 1 root root 21 Mar 24 20:09 libevent-2.0.so.5 -> libevent-2.0.so.5.0.1
-rwxr-xr-x 1 root root 943520 Mar 24 20:09 libevent-2.0.so.5.0.1
-rw-r--r-- 1 root root 1532186 Mar 24 20:09 libevent.a
lrwxrwxrwx 1 root root 26 Mar 24 20:09 libevent_core-2.0.so.5 -> libevent_core-2.0.so.5.0.1
-rwxr-xr-x 1 root root 554374 Mar 24 20:09 libevent_core-2.0.so.5.0.1
-rw-r--r-- 1 root root 927994 Mar 24 20:09 libevent_core.a
-rwxr-xr-x 1 root root 971 Mar 24 20:09 libevent_core.la
。。。
  2.安装memcached,注意要指明libevent的位置
# tar zxvf memcached-1.4.5.tar.gz
# cd memcached-1.4.5
# ./configure—prefix=/usr/local/memcached –with-libevent=/usr
# make
# make install
  测试是否成功安装memcached:
# ls -al /usr/local/memcached/
total 24
drwxr-xr-x 5 root root 4096 Mar 24 20:58 .
drwxr-xr-x 27 root root 4096 Mar 24 20:11 ..
drwxr-xr-x 2 root root 4096 Mar 24 20:11 bin
drwxr-xr-x 3 root root 4096 Mar 24 20:11 include
-rw-r--r-- 1 root root 0 Mar 24 20:58 libevent-2.0.so.5.0.1
-rw-r--r-- 1 root root 0 Mar 24 20:58 libevent_core-2.0.so.5.0.1
-rw-r--r-- 1 root root 0 Mar 24 20:58 libevent_extra-2.0.so.5.0.1
-rw-r--r-- 1 root root 0 Mar 24 20:58 libevent_openssl-2.0.so.5.0.1
-rw-r--r-- 1 root root 0 Mar 24 20:58 libevent_pthreads-2.0.so.5.0.1
drwxr-xr-x 3 root root 4096 Mar 24 20:11 share
  memcached的基本使用:
1.启动Memcache的服务器端:
# /usr/local/memcached/bin/memcached -d -m 100 -u root -l 192.168.1.131 -p 6717 -c 500 -P /tmp/memcached.pid
参数说明:
-d选项是启动一个守护进程,
-m是分配给Memcache使用的内存数量,单位是MB,这里是100MB
-u是运行Memcache的用户,这里是root
-l是监听的服务器IP地址,这里指定服务器的IP地址192.168.1.131
-p是设置Memcache监听的端口,这里设置为6717,最好设置1024以上的端口
-c选项是最大运行的并发连接数,默认是1024,这里设置为500,要根据服务器的负载量来设定
-P是保存Memcache的pid文件,这里保存在 /tmp/memcached.pid
  2.如何结束Memcache进程:
# kill `cat /tmp/memcached.pid`
  关于Memcache的基本说明:
(转自:http://www.ccvita.com/259.html)
  Memcache是什么
Memcache是danga.com的一个项目,最早是为 LiveJournal 服务的,目前全世界不少人使用这个缓存项目来构建自己大负载的网站,来分担数据库的压力。
它可以应对任意多个连接,使用非阻塞的网络IO。由于它的工作机制是在内存中开辟一块空间,然后建立一个HashTable,Memcached自管理这些HashTable。
Memcache官方网站:http://www.danga.com/memcached,更多详细的信息可以来这里了解
  为什么会有Memcache和memcached两种名称?
其实Memcache是这个项目的名称,而memcached是它服务器端的主程序文件名,知道我的意思了把~~~~。一个是项目名称,一个是主程序文件名,在网上看到了很多人不明白,于是混用了。
  Memcache的安装
分为两个过程:memcache服务器端的安装和memcached客户端的安装。
所谓服务器端的安装就是在服务器(一般都是linux系统)上安装Memcache实现数据的存储
所谓客户端的安装就是指php(或者其他程序,Memcache还有其他不错的api接口提供)去使用服务器端的Memcache提供的函数,需要php添加扩展。

         版权声明:本文为博主原创文章,未经博主允许不得转载。

运维网声明 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-140686-1-1.html 上篇帖子: 在Linux安装Memcache缓存服务器端的方法 下篇帖子: Linux + Memcache安装与配置
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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