Redis源码安装过程及问题记录

TomTao626 于 2020-06-20 发布
🥰本站访客数 👀本文阅读量

redis包下载地址

redis下载点击这里

下载redis压缩包

点击下载所需的版本即可

redis包上传服务器

scp redis-6.0.9.tar.gz root@172.16.111.134:/usr/local/等待上传完成

解压

tar -xzvf redis-6.0.9.tar.gz

重命名

mv redis-6.0.9.tar.gz redis

安装相关依赖

yum install -y gcc tcl zlib-devel openssl-devel

进入redis所在目录,并编译安装redis

cd redis make MALLOC=libc

关于MALLOC这个参数,如果有MALLOC这个环境变量, 会有用这个环境变量的去建立Redis。 而且libc并不是默认的分配器, 默认的是jemalloc, 因为jemalloc被证明,比libc有更少的fragmentation problems。 但是如果你又没有jemalloc,而只有libcmake编译出错。 所以加这么一个参数。

耐性等待,会发现编译报错了。

错误分析及解决

由于make编译需要用到gcc,而gcc依赖了很多东西,有些包可能系统已经装了(虽然上面已经安装过gcc了,但是可能gcc的一些依赖会缺失),有些没有,防止出意外,最好都走一遍

  • 首先查看gcc版本 gcc -v
  • 需要安装/升级SCL(centos软件选集) yum install -y centos-release-scl
  • 安装gcc其他依赖yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
  • 临时启用新版本gcc scl enable devtoolset-9 bash

重新编译执行

请注意为了防止出意外,make失败后在make的话,清理一下,执行make clean 再执行make install PREFIX=/usr/local/redis,redis执行了make install后,redis的可执行文件都会自动复制到 /usr/local/bin 目录

再次执行make test

会提示no error,基本上就安装完成了

命令复制

把redis的一些命令脚本拷贝到PATH变量所在的目录 cp -a src/redis-server src/redis-cli src/redis-sentinel src/redis-trib.rb src/redis-check-aof src/redis-check-rdb src/redis-benchmark /usr/local/bin/ 那个/usr/local/bin,就是PATH变量的目录,这样就可以直接执行redis的一些命令了

redis相关命令

  • redis-server redis服务器
  • redis-cli redis命令行客户端
  • redis-benchmark redis性能测试工具
  • redis-check-aof aof文件修复工具
  • redis-check-dump rdb文件检查工具

redis启动(后台运行)

redis-server

可以看到redis已经运行起来了,但是当终端关闭,服务就会挂掉,所以需要配置redis后台运行 直接修改配置文件redis.conf内的daemonize属性为yes,再使用修改修改后的配置文件重启redis就可以了

进入redis-cli终端

可以看到,随意使用相关的redis操作命令都是没问题的。