目录
1、安装
1.1、下载安装包
下载安装包还是去官网下载,官网下载地址:
http://download.redis.io/releases/
官方列出了非常多的版本可以下载,我们下载当前最新的稳定版6.2.5版本。
1.2、解压安装包并放到目的地
把下载下来的安装包放到 /home/redis/ 目录(其他目录也没问题)下,解压安装包;
tar -zxvf redis-6.2.5.tar.gz
1.3、编译并安装Redis
安装时如果遇到gcc报错则是因为编译需要的环境C/C++环境没有安装,可以使用yum安装一下。
#安装gcc环境
yum install gcc
#编译并安装,同时指定安装目录
make install PREFIX=/home/redis
2、配置Redis
将源码中的conf文件拷贝到外边来,方便后期修改;
cp /home/redis/redis-5.0.3/redis.conf /home/redis/conf/
然后打开它,修改部分必须的配置;
2.1、允许其他主机访问
Redis配置文件中有一个配置
bind
,
它适用于服务器有多网卡的情况,可以绑定只能从哪块网卡接受访问请求。
默认是绑定127.0.0.1,只允许本机访问,如果需要其他主机访问,可以把这个注释掉。当然也可以把服务器的其他网卡的IP配置上去(ifconfig里查到的IP就可以);
其次需要把 protected-mode(只能本机访问) 设置为 no。
2.2、配置允许后台启动
默认只能是前台启动,即退出控制台就关闭了Redis服务器,必须进行配置才能开启后台运行。
将daemonize 设置为 yes
即可。
2.3、配置默认客户端访问密码
在Redis6.0后,新特性中更新了ACL(Access Control List)权限控制;该功能允许对访问Redis 的客户端连接做一些可执行命令和可访问的 KEY 的权限控制。
为了保证 Redis 向下兼容,Redis 6.0 中定义了一个默认的 “default” 用户,该用户拥有操作 Redis 的所有权限。也就是说,每个连接都能够调用每个命令并访问每个 KEY。同样,在配置文件中使用
requirepass
设置访问密码的方式与旧版本也保持一致,
只不过 Redis 6.0 的这个密码仅对用户 “default” 用户有效。
其次,Redis的 AUTH 命令也在 Redis 6.0 中进行了扩展,现在支持两个参数的访问:
AUTO <username> <password>
当然,在过去旧版本(Redis6.0以前)的时候,是不支持两个参数的访问的,那种访问方式也进行了保留:
#旧版本的访问方式
AUTO <password>
#Redis6.0版本后执行上述命令等价于如下命令
AUTO default <password>
如果我们不需要这方面的权限控制,在新版本中还是保留一个默认的用户即可,我们可以先配置一下default默认用户的密码:
2.4、配置最大内存使用
Redis是一个内存数据库,当数据量特别大的时候,对内存也是不小的考验;如果需要,可以配置一下最大的内存使用量,以便使用LRU等淘汰策略减少内存的使用。
3、启动Redis
3.1、使用配置文件启动
安装完后,我们来到安装目录的bin目录下,只用如下命令指定配置文件启动Redis服务;
#启动
./redis-server ../conf/redis.conf
#检查一下是否正常启动
ps -ef|grep redis
3.2、设置开机自动启动
设置开机自动启动的原理即首先我们
要在 /etc/init.d 目录下有我们的Redis启动脚本(以便可以通过service XXX start等脚本进行管理)
,并且让脚本可以正常找到我们的Redis程序与配置文件;
首先,我们要有一个启动脚本,这在Redis安装包中已经自带了,目录为;
/home/redis/redis-6.2.5/utils/redis_init_script
我们把这个文件拷贝到
/etc/init.d 目录下,并改名redis
,这样我们平时也可以直接通过redis命令进行管理Redis服务;
cp /home/redis/redis-6.2.5/utils/redis_init_script /etc/init.d/redis
随后,
我们把我们的配置文件移动到 /etc/redis 目录下
(不移动也行,但是规范而言,我们Linux的配置文件都应该在etc下,也是约定俗成的,并且在启动脚本中,也是按这个路径读取的);
同时改名为 6379.conf
,这是因为在Redis的后台启动脚本中默认读取的配置文件名称就是 端口号+后缀名;
mv /home/redis/conf/redis.conf /etc/redis/6379.conf
打开 /etc/init.d/redis 启动脚本,修改几个参数,改成自己redis安装的目录;
此时,可以通过命令开启自启动了。
#设为开机启动
chkconfig redis on
#设为开机关闭
chkconfig redis off
但是,不要以为此时就万事大吉了,这边还有一个隐含的重要问题,可能回引起我们的机器无法正常关机或者重启非常缓慢;
原因是我们主机在关机或者重启的时候需要关闭开机自启的服务,但是我们看这边关闭脚本中的命令是没有包含Redis密码的,而我们恰好设置了Redis的密码,此时用这条命令关闭Redis服务就会提示权限不足而无法关闭,但是我们的主机又会一直重试等待它的关闭,造成了主机一直无法正常关机或者重启的情况。对于这个问题,我们目前只能在脚本中的关闭服务命令中加上我们设置的Redis密码,如图中第二个框中所示。
4、配置防火墙
开放主机的Redis客户端访问端口(默认是6379);CentOS 7使用
firewall
程序配置。
#开放端口
firewall-cmd --zone=public --add-port=6379/tcp --permanent
#重启防火墙程序
systemctl restart firewalld.service
注意:本文归作者所有,未经作者允许,不得转载