【转】解决启动memcached启动时报”memcached:error while load...

安装完memcached, 启动时报错如下: 

/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

首先确认是否已经安装了libevent库和libevent-devel库, Memcache用到了libevent这个库用于Socket的处理,所以需要安装libevent,默认是安装在 /usr/local/lib目录下的.

ls /usr/local/lib/libevent-1.4.so.2

执行如下的命令看看memcached去是到哪些目录查找libevent动态库的 : 

LD_DEBUG=libs /usr/local/memcached/bin/memcached -v
   29653:      find library=libevent-1.4.so.2 [0]; searching
     29653:      search cache=/etc/ld.so.cache
     29653:      search path=/lib64/tls/x86_64:/lib64/tls:/lib64/x86_64:/lib64:/usr/lib64/tls/x86_64:/usr/lib64/tls:/usr/lib64/x86_64:/usr/lib64             (system search path)
     29653:       trying file=/lib64/tls/x86_64/libevent-1.4.so.2
     29653:       trying file=/lib64/tls/libevent-1.4.so.2
     29653:       trying file=/lib64/x86_64/libevent-1.4.so.2
     29653:       trying file=/lib64/libevent-1.4.so.2
     29653:       trying file=/usr/lib64/tls/x86_64/libevent-1.4.so.2
     29653:       trying file=/usr/lib64/tls/libevent-1.4.so.2
     29653:       trying file=/usr/lib64/x86_64/libevent-1.4.so.2
     29653:       trying file=/usr/lib64/libevent-1.4.so.2
     29653:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-1.4.so.2: cannot open shared object file: No such file or directory

这里解释一下LD_DEBUG=libs的作用: 

LD_DEBUG=help ls
Valid options for the LD_DEBUG environment variable are:
 
  libs        display library search paths
  reloc       display relocation processing
  files       display progress for input file
  symbols     display symbol table processing
  bindings    display information about symbol binding
  versions    display version dependencies
  all         all previous options combined
  statistics  display relocation statistics
  unused      determined unused DSOs

  help        display this help message and exit

To direct the debugging output into a file instead of standard output

a filename can be specified using the LD_DEBUG_OUTPUT environment variable

现在我们得知memcached会在/lib64和/usr/lib64中查找动态库,所以我们只需在这两个目录下创建一个软连接指向libevent的libevent-1.4.so.2 即可

su root -c 'ln -s /usr/local/lib/libevent-1.4.so.2 /usr/lib64/libevent-1.4.so.2'

 

但如果无法获得root权限,那么只能重新安装memcached, 并且在执行./configure命令之前,先导出环境变量LD_RUN_PATH, 使其指向libevent的lib目录.  重装后的memcached就会到LD_RUN_PATH中查找dongtai

export LD_RUN_PATH='/PATH/TO/libevent/lib/'

转载:http://www.cnblogs.com/txwsqk/archive/2011/10/08/2201886.html

           http://hi.baidu.com/zer4tul/blog/item/b640a5189dbcc70d34fa4161.html

  

附memcached的常用启动参数:



 



-p 监听的端口
-l 连接的IP地址, 默认是本机
-d start 启动memcached服务
-d restart 重起memcached服务
-d stop|shutdown 关闭正在运行的memcached服务
-d install 安装memcached服务
-d uninstall 卸载memcached服务
-u 以的身份运行 (仅在以root运行的时候有效)
-m 最大内存使用,单位MB。默认64MB
-M 内存耗尽时返回错误,而不是删除项
-c 最大同时连接数,默认是1024
-f 块大小增长因子,默认是1.25-n 最小分配空间,key+value+flags默认是48
-h 显示帮助


转载于:https://my.oschina.net/aiguozhe/blog/67523

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值