close
web2.0、云计算、集群、高可用性 web2.0、云计算、集群、高可用性
Search
rails的memcache-client引起的怪问题

前言(也就是废话):

最近公司在北京和天津的新办公室装修完毕,两地的同事都搬进了新办公室。

开发环境也趁此大好时机,做了次乔迁:将所有团队的SVN全部整合到专用的版本服务器中;将所有团队的项目管理整合到了redmine中。另外,将CMS环境(编辑用)、主站环境、测试环境也搭建了一下。

第一次这么近距离地接触ruby,感觉gem安装还算方便

(别扔鸡蛋了,)正文(出场了):

今天silver报怨rails太慢。之前都是直接拿webrick跑的,前面用nginx挡着。

kyc建议用thin。

开始都还顺利,几个应用都能正常访问,轮到测试环境的时候,显示 502 bad gateway。

这不奇怪嘛。停了,用webrick启,测试一下,完全正常啊。

又用thin启,再试一下,不行,赶紧telnet 127.0.0.1 5000,明明能telnet上。

去看看日志吧 thin.5000.log:

Unexpected error while processing request: uninitialized constant MemCache::EventedServer

这怎么回事啊?!对于我这个ruby门外汉来说,没辙了。搬救兵吧,请swordray过来。

swordray看了后说:可能是memcache-client的版本

我安装的时候ruby是最新版本1.8.7,gem是1.3.6,安装的组件的时候也没加参数,于是乎都装的新版本组件。

看一下memcache-client的版本,1.8.3

将memcache-client卸载了,安装1.7.8版本

gem install memcache-client -v=1.7.8

再用thin启,这次就没问题了!

 

总结:

感觉ruby小版本之间的兼容性很成问题!

python的组件在这点上还是没多大问题的

arrowNo Responses Yet

Leave A Comment