Linux安装Redis实现过程及报错解决方案

来自:互联网
时间:2020-09-03
阅读:

今天安装redis出现些之前安装不曾出现错误,一并在此做个记录Fgl免费资源网

一、安装redis及出现错误Fgl免费资源网

首先下载redis,官方下载地址页面:https://redis.io/downloadFgl免费资源网

我们这里选择稳定版6.0.1版本Fgl免费资源网

Linux安装Redis实现过程及报错解决方案Fgl免费资源网

正常安装步骤如下:Fgl免费资源网

[root@localhost ~]# yum install gcc
[root@localhost ~]# cd /usr/local
[root@localhost local]# wget http://download.redis.io/releases/redis-6.0.1.tar.gz
[root@localhost local]# tar -xvf redis-6.0.1.tar.gz
[root@localhost local]# cd /usr/local/redis-6.0.1/
[root@localhost redis-6.0.1]# make PREFIX=/usr/local/redis install

这里报了如下错误Fgl免费资源网

make[1]: *** [server.o] 错误 1Fgl免费资源网
make[1]: 离开目录“/usr/redis-6.0.1/src”Fgl免费资源网
make: *** [all] 错误 2Fgl免费资源网

server.c:2402:11: 错误:‘struct redisServer'没有名为‘assert_file'的成员Fgl免费资源网
server.assert_file = "<no file>";Fgl免费资源网
^Fgl免费资源网
server.c:2403:11: 错误:‘struct redisServer'没有名为‘assert_line'的成员Fgl免费资源网
server.assert_line = 0;Fgl免费资源网
^Fgl免费资源网
server.c:2404:11: 错误:‘struct redisServer'没有名为‘bug_report_start'的成员Fgl免费资源网
server.bug_report_start = 0;Fgl免费资源网
^Fgl免费资源网
server.c:2405:11: 错误:‘struct redisServer'没有名为‘watchdog_period'的成员Fgl免费资源网
server.watchdog_period = 0;Fgl免费资源网
^Fgl免费资源网
server.c:2411:11: 错误:‘struct redisServer'没有名为‘lua_always_replicate_commands'的成员Fgl免费资源网
server.lua_always_replicate_commands = 1;Fgl免费资源网
^Fgl免费资源网
server.c: 在函数‘restartServer'中:Fgl免费资源网
server.c:2464:32: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
for (j = 3; j < (int)server.maxclients + 1024; j++) {Fgl免费资源网
^Fgl免费资源网
server.c: 在函数‘adjustOpenFilesLimit'中:Fgl免费资源网
server.c:2491:29: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
rlim_t maxfiles = server.maxclients+CONFIG_MIN_RESERVED_FDS;Fgl免费资源网
^Fgl免费资源网
server.c:2497:15: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
server.maxclients = 1024-CONFIG_MIN_RESERVED_FDS;Fgl免费资源网
^Fgl免费资源网
server.c:2529:53: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
unsigned int old_maxclients = server.maxclients;Fgl免费资源网
^Fgl免费资源网
server.c:2530:23: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
server.maxclients = bestlimit-CONFIG_MIN_RESERVED_FDS;Fgl免费资源网
^Fgl免费资源网
server.c:2554:59: 错误:‘struct redisServer'没有名为‘maxclients'的成员Fgl免费资源网
(unsigned long long) bestlimit, server.maxclients);Fgl免费资源网
^Fgl免费资源网
server.c: 在函数‘checkTcpBacklogSettings'中:Fgl免费资源网
server.c:2574:48: 错误:‘struct redisServer'没有名为‘tcp_backlog'的成员Fgl免费资源网
if (somaxconn > 0 && somaxconn < server.tcp_backlog) {Fgl免费资源网
^Fgl免费资源网
server.c:2575:171: 错误:‘struct redisServer'没有名为‘tcp_backlog'的成员Fgl免费资源网
serverLog(LL_WARNING,"WARNING: The TCP backlog setting of %d cannot be enforced because /proc/sys/net /core/somaxconn is set to the lower value of %d.", server.tcp_backlog, somaxconn);Fgl免费资源网

Linux安装Redis实现过程及报错解决方案Fgl免费资源网

Linux安装Redis实现过程及报错解决方案Fgl免费资源网

Linux安装Redis实现过程及报错解决方案Fgl免费资源网

解决办法:升级gcc版本Fgl免费资源网

[root@localhost redis-6.0.1]# gcc -v # 查看gcc版本Fgl免费资源网
[root@localhost redis-6.0.1]# yum -y install centos-release-scl # 升级到9.1版本Fgl免费资源网
[root@localhost redis-6.0.1]# yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutilsFgl免费资源网
[root@localhost redis-6.0.1]# scl enable devtoolset-9 bashFgl免费资源网
以上为临时启用,如果要长期使用gcc 9.1的话:Fgl免费资源网
[root@localhost redis-6.0.1]# echo "source /opt/rh/devtoolset-9/enable" >>/etc/profileFgl免费资源网

再执行编译:Fgl免费资源网

[root@mmjredis redis-6.0.1]# make PREFIX=/usr/local/redis installFgl免费资源网

安装成功会出现:Hint: It's a good idea to run 'make test'Fgl免费资源网

返回顶部
顶部