CentOS 7.x 安装Redis 6.2.13

【第一步:环境准备】

1.检查系统版本:uname -a

2.历史版本检查与卸载清理:

rpm -qa | grep redis

find / -name redis -print

rm -rf redis*

3.安装gcc、tcl、ruby等依赖:

yum -y install gcc gcc-c++ tcl lsof

yum -y install ruby ruby-devel rubygems rpm-build

yum install autoconf automake

gcc -v

升级GCC:

之所以升级GCC是因为我们使用的是redis-6.x,要求C5.3以上的编译器,否则会遇到大量的错误,

而yum安装的GCC默认是4.8.5版本的,显然不符合redis-6.x编译的要求,所以需要进行升级。

安装 SCL 源:yum install -y centos-release-scl scl-utils-build

安装 9 版本的 gcc、gcc-c++、gdb 工具链(toolchian):yum install -y devtoolset-9-toolchain

临时覆盖系统原有的 gcc 引用:scl enable devtoolset-9 bash

gcc -v

4.防火墙设置:

查看端口:netstat -an | grep 6379

检查防火墙状态:systemctl status firewalld

启动防火墙:systemctl start firewalld

关闭防火墙:systemctl stop firewalld

设置开机启用防火墙:systemctl enable firewalld.service

设置开机禁用防火墙:systemctl disable firewalld.service

查看防火墙状态:firewall-cmd --state

重新加载配置:firewall-cmd --reload

查看开放的端口:firewall-cmd --list-ports

开启防火墙端口:firewall-cmd --zone=public --add-port=6379/tcp --permanent

【第二步:下载安装包】

下载:https://download.redis.io/releases/

wget https://download.redis.io/releases/redis-6.2.13.tar.gz

【第三步:解压编译安装】

1.mkdir -p /opt/soft/redis

2.tar -zxvf redis-6.2.13.tar.gz -C /opt/soft/redis

3.cd /opt/soft/redis/redis-6.2.13/src

4.编译:make

Hint: It's a good idea to run 'make test' ;) -- 表示编译成功

注:如果不是第一次make,则清理上次编译残留文件,重新编译:make distclean && make

根据需要执行测试(很耗时5分钟左右):make test

\o/ All tests passed without errors!

Cleanup: may take some time... OK

5.创建安装目录:mkdir -p /usr/local/redis

6.安装:make install --PREFIX=/usr/local/redis

安装成功显示如下:

Hint: It's a good idea to run 'make test' ;)

INSTALL redis-server

INSTALL redis-benchmark

INSTALL redis-cli

注意:

一般Reids默认安装位置为:/usr/local/bin

如果不想使用默认位置,也可以自己指定位置,使用如下安装命令:make install PREFIX=/usr/local/redis

默认相关安装位置:

PREFIX : /usr/local

BINDIR : /usr/local/bin -- bin启动脚本目录

DATADIR : /usr/local/share -- 数据目录

INCLUDEDIR : /usr/local/include -- 其他需要的文件

LIBDIR : /usr/local/lib -- 依赖库目录

MANDIR : /usr/local/share/man -- 帮助手册目录

cd /usr/local/bin/

可见如下文件:

-rwxr-xr-x 1 root root 4830448 Jul 20 18:13 redis-benchmark -> 测试Redis性能的工具,可以同时模拟n个客户发送请求

lrwxrwxrwx 1 root root 12 Jul 20 18:13 redis-check-aof -> aof文件校验、修复

lrwxrwxrwx 1 root root 12 Jul 20 18:13 redis-check-rdb -> rdb文件校验、修复

-rwxr-xr-x 1 root root 5004552 Jul 20 18:13 redis-cli -> redis客户端

-rwxr-xr-x 1 root root 9549048 Jul 20 18:13 redis-server -> redis服务

【第四步:配置Redis】

1.将配置文件复制一份到bin目录:cp /opt/soft/redis/redis-6.2.13/redis.conf /usr/local/redis/bin/

2.配置/usr/local/redis/bin/下的redis.conf文件:

vim redis.conf

配置修改以下内容:

bind 0.0.0.0

port 6379

保护模式,默认:yes。设置为no,否则其他主机上的客户端无法连接使用Redis服务。

protected-mode no

默认:no,开启守护进程后台启动模式。

启用后后台会在默认的/var/run/目录下生成:/var/run/redis_{port}.pid进程号文件

daemonize yes

pidfile /var/run/redis_6379.pid

默认为空:"",建议改成自定义的文件如:"/usr/local/redis/redis.log",

方便后面进行Lua程序开发时,进行日志的输出和查看

logfile "/opt/soft/redis/logs/redis.log"

dbfilename dump.rdb

dir /opt/soft/redis/data/ -- 工作目录,rdb文件与aof文件的保存和创建目录。

appendonly yes -- 开启aof日志

appendfilename "appendonly.aof"

requirepass redis@123

3.创建配置在redis.conf文件中指定的日志目录与数据目录:

mkdir -p /opt/soft/redis/logs

mkdir -p /opt/soft/redis/data

chmod -R 764 /opt/soft/redis/logs

chmod -R 764 /opt/soft/redis/data

chmod [xyz] file 说明:

[xyz]分别表示数字(最大不超过7),并分别对应 User(x-所有者权限)、Group(y-组用户权限)、Other(z-其他用户权限)

x,y,z的值都是由r(r=4),w(w=2 ),x(x=1)来确定。7=r+w+x

r表示Read,即读文件

w表示Write,即写文件

x表示执行文件

示例:

sudo chmod 777 -R {dir-or-file} (所有用户都有更改文件夹及其子文件夹权限)

sudo chmod 600 {dir-or-file} (只有所有者有读和写的权限)

【第五步:将redis配置为开机启动 - 可选】

方法一:编辑启动配置文件 /etc/rc.local,加入开机启动项,里面添加内容:

/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

方法二:创建:vim /etc/systemd/system/redis.service

在redis.service文件中写入:

[Unit]

Description=redis-server

After=network.target

[Service]

Type=forking

ExecStart=/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

PrivateTmp=true

[Install]

WantedBy=multi-user.target

重载系统服务:systemctl daemon-reload

加入开机启动:systemctl enable redis.service

【第六步:启动Redis服务】

命令行启动:/usr/local/redis/bin/redis-server /usr/local/redis/bin/redis.conf

系统服务方式启动:

启动redis服务:systemctl start redis.service

停止redis服务:systemctl stop redis.service

查看redis服务状态:systemctl status redis.service

查看启动结果:lsof -i:6379

或者:ps -ef | grep redis|grep -v grep

【第七步:简单测试】

登录客户端:/usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis@123

[root@VM-0-11-centos bin]# /usr/local/bin/redis-cli -h 127.0.0.1 -p 6379 -a redis@123

Warning: Using a password with '-a' or '-u' option on the command line interface may not be safe.

127.0.0.1:6379> ping

PONG

127.0.0.1:6379> keys *

(empty array)

127.0.0.1:6379> set testKey testName

OK

127.0.0.1:6379> get testKey

"testName"

127.0.0.1:6379> bgsave -- 手动触发数据持久化

Background saving started

127.0.0.1:6379> exit

至此,安装成功!

相关推荐
耶啵奶膘1 小时前
uniapp-是否删除
linux·前端·uni-app
2401_850410832 小时前
文件系统和日志管理
linux·运维·服务器
XMYX-03 小时前
使用 SSH 蜜罐提升安全性和记录攻击活动
linux·ssh
二十雨辰5 小时前
[linux]docker基础
linux·运维·docker
饮浊酒6 小时前
Linux操作系统 ------(3.文本编译器Vim)
linux·vim
lihuhelihu6 小时前
第3章 CentOS系统管理
linux·运维·服务器·计算机网络·ubuntu·centos·云计算
矛取矛求6 小时前
Linux系统性能调优技巧
linux
One_Blanks6 小时前
渗透测试-Linux基础(1)
linux·运维·安全
Perishell6 小时前
无人机避障——大疆与Airsim中的角速度信息订阅获取
linux·动态规划·无人机
爱吃喵的鲤鱼6 小时前
linux进程的状态之环境变量
linux·运维·服务器·开发语言·c++