memcached的学习(2)

2018.6.11
今天主要看memecached服务器端的安装
memcached两种安装方法,一种直接通过yum安装,一种通过源码安装,准备都尝试下这两种方法

第一种,通过yum进行安装

Yum安装Memcache

1.查找memcached
yum  search  memcached

该命令可以查询yum库中有关memcached的安装包信息,以下是搜寻结果截图:
在这里插入图片描述

2.安装 memcached
yum  -y install memcached

该命令用来安装memcached,不必关心其中各个安装包之间的依赖。命令执行结果如下图所示:
在这里插入图片描述
(备注:如果执行yum –y install memcached报网络解析异常,则说明当前无法联网,或者说明dns服务器没有正确配置,如果因为dns没有配置原因,可以通过 vi /etc/resolv.conf
添加 nameserver 192.98.18.20(dns服务器地址) 来配置dns映射)

3.验证安装memcached
memcached –h

说明:如果没有带 -u root 的话就会报:can’t run as root without the -u switch解决:带-u root就行!

 memcached -u root -h

该命令主要的功能是提供memcached的帮助信息,罗列memcached命令有哪些接口以及接口参数。具体信息参考截图:
在这里插入图片描述

4.修改memcached配置文件
chkconfig --level 2345 memcached on 

执行该命令将memcached加入linux服务。添加成功以后,你可以使用service memcached start|stop|restart等命令来启动、关闭、重启memcached服务。修改memcached的参数,主要涉及memcached启动绑定的端口、用户、最大连接、最大内存等,命令:

vi /etc/sysconfig/memcached 

命令响应结果如截图:
在这里插入图片描述

通过vi命令即可修改上面各个参数。PORT,服务启动端口。USER,服务启动用户。MAXCONN,服务配置支持最大连接数。CACHESIZE,服务支持的最大内存,以M为单位。

5.重启memcached服务

修改上面的参数以后,需要重启memcached服务,不然参数是无法立即生效的。重启服务,只需执行:service memcached restart。服务重启以后,即可使用memcached-tool来检测memcached服务状态。

6.使用memcached-tool检测memcached服务

执行

memcached-tool 127.0.0.1:11211 stats

即可检测memcached的服务状态。如果报错,连接不上,那么说明memcached没有正确安装或者没有启动。执行正常,内容如截图所示:
在这里插入图片描述

然后就可以使用telnet,来测试memcache的连接状态, 如果没有安装telnet服务,可以执行

yum install telnet-server 

安装服务

yum install telnet 

安装命令
然后编辑

vi /etc/xinetd.d/telnet 

激活telnet,默认是禁用的,截图如下:
在这里插入图片描述

然后重启服务,执行命令

 service xinetd restart 

然后就可以测试memcached的连接,执行命令

telnet 127.0.0.1 11211 

输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可,截图如下:
在这里插入图片描述

退出telnet,执行quit命令即可

连接成功后首行输入内容不可见,回车后报Error,敲入下面命令(a 位key;第一个0表示数据格式;第二个0表示存储时间,0为永远;5就是存储的value值字符长度)

set a 0 0 5
12345

回车后出现STORED说明已将数据存储
敲入命令get a回车得到值,memcached是key/value方式存储数据,如下图
在这里插入图片描述

7、常用三种命令

(1)、set 设置值 <K,V> 如果没有对应Key则添加,如果有则修改值
(2)、get 获取值
(3)、add 设置值 <K,V>如果没有对应Key则添加,如果有则不做操作
在这里插入图片描述

到此,使用yum安装memcached服务器端成功,比较简单。telnet 就是一个简单的web客户端,访问本地ip对应的memcacehd的端口号进程。
————————————————————————————————————————————————————

第二种,通过源码安装

1、安装libevent

memcached是基于libevent的,所以要安装libevent,而memcached和libevent是由C编写的,所以系统要安装gcc。
首先安装gcc,然后是libevent
在这里插入图片描述
然后下载安装libevent即memcached的源码
在这里插入图片描述

2、安装libevent

在这里插入图片描述
只用安装一次即可,注意指定安装目录为/usr/lib/…要不然会默认安装到usr/local/lib中,memcached会在指定的目录/usr/lib中找不到链接,可能就会报错,这个时候需要设置软连接,比较麻烦,所以这里指定安装路径是最好的

3、下载memcached并且安装,安装linux常用的安装方法来

在这里插入图片描述
这个会在设置的安装目录下,产生可执行文件memcached
在这里插入图片描述
此时即安装完成,剩下的和之前一样,测试是否安装成功,注意由于是手动安装的,每次执行memcached的可执行文件时候,都必须要绝对路径,和自动安装不同,这里一直这样,不知道原因?

例如启动memcached:

自动安装: /usr/bin/memcached -d -l 127.0.0.1 -p 11211 -m 150 -u root
手动安装,绝对路径: /usr/local/memcached/bin/memcached -u root -h

其他后面的测试按照上面手动安装的方法测试即可。

telnet 127.0.0.1 11211 

输入stats,会输出memcache的一些连接信息,包括PID
如果需要退出,则执行quit命令即可,截图如下:
在这里插入图片描述

退出telnet,执行quit命令即可
连接成功后首行输入内容不可见,回车后报Error,敲入下面命令(a 位key;第一个0表示数据格式;第二个0表示存储时间,0为永远;5就是存储的value值字符长度)

set a 0 0 5
12345

回车后出现STORED说明已将数据存储
敲入命令get a回车得到值,memcached是key/value方式存储数据,如下图
在这里插入图片描述

4. 报错记录:

启动Memcached报错:
/usr/local/memcached/bin/memcached: error while loading shared libraries: libevent-2.1.so.6: cannot open shared object file: No such file or directory
解决:由于查找路径导致,设置软连接即可。

首先查找原本安装的libevent-2.1.so.6路径

find / -name libevent-2.1.so.6

然后查看memcached搜索的路径

● 查看 memcached 命令缺失什么库
ldd /usr/local/memcached/bin/memcached
结果: libevent-2.1.so.6 模块找不到

● 查看 libevent-2.1.so.6 是否存在
locate libevent-2.1.so.6
结果: 系统已经安装了该模块,在路径 /usr/local/lib/

● 查看 memcached 查找依赖库的路径
LD_DEBUG=libs /usr/local/memcached/bin/memcached -v
结果: 在 /lib64/ 目录中查找,所以找不到已经安装好的

● 设置软连接映射
创建软链接

sudo ln -s /usr/local/lib/libevent-2.1.so.6 /usr/lib/libevent-2.1.so.6

猜你喜欢

转载自blog.csdn.net/u012414189/article/details/84288587