1. 官网下载redis文件
两种方式进行下载:
1.使用wget命令直接下载到服务器目录下
wget https://download.redis.io/releases/redis-6.2.6.tar.gz
2.直接去官网下载,然后上传到服务器指定目录下
2. 校验安装依赖
2.1 安装系统默认版本gcc
使用 gcc -v 查看当前环境,系统默认的4.8.5版本
如果是: command not found,则需要先安装gcc。
安装默认版本gcc(安装过程需要输入,一直输入【y】即可):
yum install gcc-c++
出现【complete!】即安装成功。
2.2 升级gcc版本
centos7安装有默认gcc环境,默认4.8.5版本!编译redis-6.x,要求c5.3以上编译器,否则会遇到大量的错误。
主要原因是从 redis-6.x 开始的多线程代码依赖c标准库中的新增类型_atomic。
但是注意gcc从 4.9 版本才开始正式和完整地支持stdatomic(gcc-4.8.5部分支持)。
centos7默认的gcc版本为:4.8.5 < 5.3无法编译。
需要把gcc升级到9版本:
yum -y install centos-release-scl yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils #设置环境变量: scl enable devtoolset-9 bash #验证版本 gcc -v

3. 解压编译安装
解压下载文件
tar -xzvf redis-6.2.6.tar.gz #进入解压目录 cd redis #编译并安装在指定目录 make install prefix=/usr/local/redis/redis
如果遇到报错:
zmalloc.h:50:10: fatal error: jemalloc/jemalloc.h: 没有那个文件或目录
50 | #include <jemalloc/jemalloc.h>
| ^~
解决方法:
#make 时指定分配器为libc make malloc=libc #再执行编译并安装在指定目录 make install prefix=/usr/local/redis/redis
查看安装目录下的bin文件夹,有bin目录安装成功
4. 修改配置redis.conf
vi redis.conf
daemonize no 改成 daemonize yes ,然后保存并退出即可

5. 启动redis服务并测试
5.1 启动redis-server
./redis-server redis.conf
5.2 测试安装是否成功
#进入安装目录
cd /usr/local/redis/redis/bin ./redis-cli -p 6379
使用ping命令,若返回pong表示安装成功
测试set,get
set name wq get name
5.3 redis开机自启配置
#进入/lib/systemd/system/目录 cd /lib/systemd/system/ #创建redis.service文件 vim redis.service
redis.service:
[unit] description=redis-server after=network.target [service] type=forking # execstart需要按照实际情况修改成自己的地址 execstart=/usr/local/redis/bin/redis-server /usr/local/redis/redis/bin/redis.conf privatetmp=true [install] wantedby=multi-user.target
设置redis开机启动
systemctl enable redis.service
查看是否之前已经启动
ps -ef|grep redis
杀死redis线程
kill -9 pid
启动redis服务
systemctl start redis.service
查看服务状态
systemctl status redis.service
其他redis命令
停止服务
systemctl stop redis.service
取消开机自动启动(卸载服务)
systemctl disabled redis.service
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持代码网。
发表评论