【服务&环境】CentOS 7(Linux)安装Redis6.2.5教程

  • Post author:
  • Post category:linux



目录


1、安装


1.1、下载安装包


1.2、解压安装包并放到目的地


1.3、编译并安装Redis


2、配置Redis


2.1、允许其他主机访问


2.2、配置允许后台启动


2.3、配置默认客户端访问密码


2.4、配置最大内存使用


3、启动Redis


3.1、使用配置文件启动


3.2、设置开机自动启动


4、配置防火墙


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

注意:本文归作者所有,未经作者允许,不得转载



版权声明:本文为weixin_44353336原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。