美文网首页
centos安装redis6.0

centos安装redis6.0

作者: 心似风雨 | 来源:发表于2020-09-22 15:54 被阅读0次
    [root@localhost ~]# wget http://download.redis.io/releases/redis-6.0.8.tar.gz
    

    解压压缩包,并编译

    [root@localhost ~]# tar -zxvf redis-6.0.8.tar.gz
    [root@localhost ~]# cd redis-6.0.8
    [root@localhost ~]# make
    

    若编译出现异常

    MAKE hiredis
    cd hiredis && make static 
    make[3]: 进入目录“/home/app/redis-6.0.8/deps/hiredis”
    cc -std=c99 -pedantic -c -O3 -fPIC   -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb net.c
    make[3]: cc:命令未找到
    make[3]: *** [net.o] 错误 127
    make[3]: 离开目录“/home/app/redis-6.0.8/deps/hiredis”
    make[2]: *** [hiredis] 错误 2
    make[2]: 离开目录“/home/app/redis-6.0.8/deps”
    make[1]: [persist-settings] 错误 2 (忽略)
        CC adlist.o
    /bin/sh: cc: 未找到命令
    make[1]: *** [adlist.o] 错误 127
    make[1]: 离开目录“/home/app/redis-6.0.8/src”
    make: *** [all] 错误 2
    

    提示cc:未找到命令,原因是虚拟机系统中缺少gcc,安装一下gcc即可解决问题

    [root@localhost ~]# yum -y install gcc automake autoconf libtool make
    

    重新执行make,再次报错

        CC adlist.o
    In file included from adlist.c:34:0:
    zmalloc.h:50:31: 致命错误:jemalloc/jemalloc.h:没有那个文件或目录
     #include <jemalloc/jemalloc.h>
    编译中断。
    make[1]: *** [adlist.o] 错误 1
    make[1]: 离开目录“/home/app/redis-6.0.8/src”
    make: *** [all] 错误 2
    

    分配器allocator, 如果有MALLOC 这个 环境变量, 会有用这个环境变量的 去建立Redis。
    而且libc 并不是默认的 分配器, 默认的是 jemalloc, 因为 jemalloc 被证明 有更少的 fragmentation problems 比libc。
    但是如果你又没有jemalloc 而只有 libc 当然 make 出错。 所以加这么一个参数,运行如下命令:

    [root@localhost ~]# make MALLOC=libc
    

    然后安装依然出错,好吧,原来redis6.0必须用gcc9.0以上版本

    # 查看gcc版本是否在5.3以上,centos7.6默认安装4.8.5
    gcc -v
    # 升级到gcc 9.3及以上,如下:
    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    scl enable devtoolset-9 bash
    # 需要注意的是scl命令启用只是临时的,退出shell或重启就会恢复原系统gcc版本。
    # 如果要长期使用gcc 9.3的话:
    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile
    

    此处注意一定要重启xshell才能生效,否则你用make test测试一下还是报错,把我是坑惨了

    再次执行命令

    [root@localhost ~]# make MALLOC=libc
    

    还是报错 Executing test client: couldn't execute "src/redis-benchmark": no such file or directory. 真的疯了
    继续解决,执行命令 make distclean

    [root@localhost ~]# make distclean
    [root@localhost ~]# make MALLOC=libc
    

    到此为止终于安装成功了

    相关文章

      网友评论

          本文标题:centos安装redis6.0

          本文链接:https://www.haomeiwen.com/subject/vfwpyktx.html