在本地的虚拟机环境以源码编译的方式安装Redis。
- 虚拟机系统环境:CentOS 7.7
- Redis版本:6.0.6
安装
下载并解压redis压缩包
$ wget http://download.redis.io/releases/redis-6.0.6.tar.gz
$ tar xzf redis-6.0.6.tar.gz
直接使用make命令编译,但是可能出现如下的错误
In file included from server.c:30:0:
server.h:1051:5: 错误:expected specifier-qualifier-list before ‘_Atomic’
_Atomic unsigned int lruclock; /* Clock for LRU eviction */
^
server.c: 在函数‘serverLogRaw’中:
server.c:1032:31: 错误:‘struct redisServer’没有名为‘logfile’的成员
int log_to_stdout = server.logfile[0] == '\0';
Redis 6.0需要使用gcc9的版本,否则make时会提示类似上面的错误。
为避免上面的错误,可以安装scl(Software Collection)软件集
yum install centos-release-scl
可以查看scl中的gcc版本
yum list all --enablerepo='centos-sclo-rh'|grep gcc
安装gcc9版本,并切换为gcc9版本,如果需要切换为原来的版本,只需要执行exit即可退出
yum install devtoolset-9-gcc
scl enable devtoolset-9 bash
在升级的gcc9环境编译
make install
退出gcc9环境,启动redis-server
cd src
./redis-server
修改redis.conf
bind 0.0.0.0
protected-mode no
引用
【1】 redis中文网