Centos7实现单服务器安装并开启多个Redis服务

  • Post author:
  • Post category:其他




为什么要学Redis

目前刚上大三,准备暑假找实习了,但是目前所有的java岗位基本都要求会Redis,因此Redis就成了必备技能,但是大部分的Redis其实都是运行在服务器Linux上面的,因此需要了解如何在Linux上面如何部署运行Redis。

希望明年能成功找到实习。



安装


Redis-6.2.6下载

首先通过上面的链接下载Linux环境下的redis安装包.

获取安装包之后通过Xftp移动到/usr/local/src目录下

如下:

在这里插入图片描述

然后通过如下指令下载Redis所需gcc依赖.

 yum install -y gcc tcl

之后解压安装包,操作方式如下

tar -zxvf redis-6.2.6.tar.gz

在这里插入图片描述

解压完毕之后进入redis的根目录

在这里插入图片描述

之后使用如下指令进行编译,如果没有出错那么安装成功.

make && make install

在这里插入图片描述

安装成功之后,默认的安装路径是在/usr/local/bin目录之下,进行查看

在这里插入图片描述

该目录以及默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

  • redis-cli:是redis提供的命令行客户端
  • redis-server:是redis的服务端启动脚本
  • redis-sentinel:是redis的哨兵启动脚本

    再次进入redis目录,然后使用redis-server就可以启动redis了

    在这里插入图片描述

    当然这种启动方式是霸屏的,如果以这种方式启动那么就必须新开一个terminal来使用了,所以我们需要对redis.conf文件进行配置.



配置Redis

先使用Ctrl+C把redis结束.

然后进入redis的目录对配置文件进行拷贝,以防不时之需.

cp redis.conf redis.conf.bck

在这里插入图片描述

之后使用vim编辑器对配置文件进行编辑

vim redis.conf

如果对vim编辑器比较熟练的,就知道可以使用 / 对关键字进行搜索了.

在这里插入图片描述

首先输入/bind,然后回车之后使用n键来查找配置.

这里设置bind属性为0.0.0.0,使得所有主机可以访问当前服务器上的redis

在这里插入图片描述

重复一样的步骤,查找requirepass,这个配置用于设定redis的登录密码,当然,如果你注释掉它,那么默认就是无密码登录.

在这里插入图片描述

然后找到守护线程,开启

在这里插入图片描述

按照一样的方法,对如下属性进行设置

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

配置完毕上面的东西之后,使用如下指令对服务进行启动

redis-server redis.conf

可以发现控制台并没有被占据

然后使用如下指令停止服务

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u redis shutdown



开机自启

开机自启要求在system文件下放入一个服务文件

我们使用如下指令创建一个

vi /etc/systemd/system/redis.service

之后在其中写入对应内容如下

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

这里ExecStart保持与我一样即可.

在这里插入图片描述
在这里插入图片描述

配置完毕之后保存并退出,然后使用如下指令重载系统服务

systemctl daemon-reload

之后查看是否能使用如下指令启动redis

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

如果启动成功,那么皆大欢喜,如果启动失败,可以直接输入redis-server来查看为什么报错

在这里插入图片描述
在这里插入图片描述

之后就可以尝试使用redis的客户端了

在这里插入图片描述

Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:


  • -h 127.0.0.1

    :指定要连接的redis节点的IP地址,默认是127.0.0.1

  • -p 6379

    :指定要连接的redis节点的端口,默认是6379

  • -a 123321

    :指定redis的访问密码

其中的commonds就是Redis的操作命令,例如:


  • ping

    :与redis服务端做心跳测试,服务端正常会返回

    pong

    .

    同时如果你在登录的时候设定了密码但是没有指定-a参数那么需要登录之后进行验证

    在这里插入图片描述

    当然,很明显这种方式操作redis不方便,所以我的压缩包里面放置了目前主流的两种redis客户端远程操作工具.

    打开安装包然后进行下载之后进行如下操作即可

    在这里插入图片描述

    然后就可以远程操作redis了,和使用DataGrip或者Navicat链接数据库都差不多,玩一玩就明白了



多服务开启

到上面位置,redis的基本配置是完毕了,但是为什么需要用一台redis服务器来开启多个redis呢?

如果学习过Redission的,那么应该自然会明白,这是为了实现Redission中的MulitiLock.

现在来进行单台虚拟机多Redis服务的配置.

首先进入Redis文件中,然后拷贝几份redis的配置文件如下.

cp redis.conf redis-6377.conf
cp redis.conf redis-6378.conf

这里你打算设置几个Redis服务你就拷贝几份文件

在这里插入图片描述

之后进入这些文件,修改他们的端口号,使得他们之间端口互不冲突

在这里插入图片描述

在这里插入图片描述

并且修改题目的pidname,使得他们的pid文件位置不同

在这里插入图片描述

在这里插入图片描述

日志文件也是同理

在这里插入图片描述

在这里插入图片描述

之后修改他们的数据库文件位置

在这里插入图片描述

在这里插入图片描述

之后使用如下的方法开启redis不同端口的服务

redis-server redis-6378.conf
ps aux | grep redis

在这里插入图片描述

之后就可以登录不同端口的redis客户端进行操作了

在这里插入图片描述

如果是SpringBoot程序就可以使用程序进行测试来判断是否配置多节点成功了.

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

可以发现两个节点都已经得到了锁

在这里插入图片描述

至此但服务器配置多环境Redis成功.



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