【第一步:环境准备】
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
至此,安装成功!