安装完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
这里解释一下LD_DEBUG=libs的作用:
LD_DEBUG=help ls
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 显示帮助