1
安装epel源,CentOS默认的安装源在官方的centos.org上,而redis在第三方的yum源里,因此无法安装。这就是我们常常在yum源里找不到各种软件的原因,还需要自己去wget,然后configure,make,make install,这个过程太痛苦了,并且卸载软件的时候还容易出错。
2
非官方的yum推荐用fedora的epel仓库。epel (Extra Packages for Enterprise Linux)是基于Fedora的一个项目,该仓库下有非常多的软件,建议安装。yum添加epel源的命令为:yum install epel-release然后回车。安装完后,我们使用命令:yum repolist查看,如下图所示。
3
如果系统中已经有epel源,可以忽略前两个步骤。执行安装redis命令:yum install redis即可,安装结果如下图所示。
4
查看Redis安装了哪些文件,使用如下命令:find / -name "redis*" ,查询结果如下图所示。
5
启动Redis服务:使用service redis start命令启动redis服务端。启动失败,可能会提示如下错误信息:Can't open the log file: Permission denied。发现是权限不够的问题,输入ls -l /var/log/redis/redis-server.log命令查看权限,发现结果为:-rw-r--r-- 1 root root ..... ,解决办法:chmod 777 /var/log/redis/redis-server.log,再重启Redis输入service redis start命令,提示启动成功。
6
启动成功后,我们打开Redis客户端,使用命令:redis-cli 即可打开客户端,出现>符号提示输入信息,我们使用命令行操作,如 set name zhangsan,get name的结果即为张三,如下图所示。如果打开客户端失败,提示如下错误:
Could not connect to Redis at 127.0.0.1:6379: Connection refused,说明没有成功启动Redis服务端,请确定上一步执行成功。
7
到这里我们的CentOS 7安装Redis便完成了,下面说说为什么可以执行使用redis-cli等命令,而不用像源码安装一样,要到软件的安装目录的bin目录下去执行./redis-cli命令。yum安装的我们在/usr/bin目录下可以找到这些命令,如下图所示,至于为什么可以直接使用,是因为/usr/bin被配置到了环境变量里,输入echo $PATH即可查看。
8
下面再说说在使用Redis的过程用的一些问题:允许远程访问redis,除需要开放服务器端口号6379,还需将配置文件中的bind 127.0.0.1注释掉,但生产环境中尽量避免这样操作,并且在安装Redis的过程中也不是必须的。我们可以编辑yum.repos.d来设置,使用命令 vi /etc/yum.repos.d,按i键变成Insert模式,在bind 127.0.0.1前加上#注释,按Ctrl+C退出,重启Redis 即可, 如下图所示。
9
redis启动提示vm.overcommit_memory、somaxconn警告错误:我们使用命令 cat /var/log/redis/redis.log来查看redis日志时,会发现两个警告信息,如下图所示。第一个警告解决方案echo 511 > /proc/sys/net/core/somaxconn,第二个警告解决方案:echo 1 > /proc/sys/vm/overcommit_memory 不需要启机器就生效。overcommit_memory参数为设置内存分配策略,/proc/sys/vm/overcommit_memory可选值为0,1,2。0表示内核将检查是否有足够的可用内存供应用进程使用,有则内存申请允许,无则内存申请失败并把错误返回给应用进程。1表示内核允许分配所有的物理内存,而不管当前的内存状态,2表示内核允许分配超过所有物理内存和交换空间总和的内存。
10
使用ps -ef | grep redis查看redis进程,有如下的进程信息:
redis 25450 1 0 20:39 ? 00:00:03 /usr/bin/redis-server 127.0.0.1:6379
END