安装完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/'
转载:
附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 显示帮助