zoukankan      html  css  js  c++  java
  • CentOS7编译安装Redis6.0.9

    CentOS7编译安装Redis6.0.9

    一、下载源码包

    官网:https://redis.io/

    下载地址:https://redis.io/download

    可以在Windows上打开下载地址,在如下界面上选择稳定版下载源码包,然后传到Linux上。

    也以在直接在Linux上下载。

    curl -O https://download.redis.io/releases/redis-6.0.9.tar.gz
    

    然后解压下载好的压缩包,把解压后的文件夹移动到/usr/local下,并重命名。

    tar -xzf redis-6.0.9.tar.gz
    mv redis-6.0.9 /usr/local/redis
    

    二、编译安装

    先下载编译安装Redis的依赖,因为Redis是C语言编写的,所以主要安装C的编译环境

    yum install gcc g++ gcc-c++ make -y
    

    进入移动重命名后的redis文件夹进行编译安装

    cd /usr/local/redis
    
    # 开始编译
    make -j 2
    

    编译安装过程中出现大量错误如下图所示:

    这是因为安装6版本的Redis需要5.3以上版本的gcc,而先前YUM安装的gcc默认安装的是4.8.5版本。

    # 查看gcc版本
    gcc -v
    

    升级gcc到9版本

    yum install centos-release-scl -y
    yum install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils -y
    

    然后启用gcc 9。我看到有些博客中写到启用gcc9的方法如下

    # 临时启用gcc 9
    scl enable devtoolset-9 bash
    
    # 长期启用gcc 9
    echo "source /opt/rh/devtoolset-9/enable" >> /etc/profile
    

    这种临时启用的方法我发现单独在终端执行没有问题,不过把它写到脚本里执行的时候,执行到这一句就会退出脚本,我还不清楚是什么原因。所以在脚本中我直接使用source /opt/rh/devtoolset-9/enable临时启用gcc 9。

    执行完毕后gcc升级到9.3.1版本

    升级好gcc后重新编译

    # 清除之前编译的可执行文件及配置文件。
    make clean
    
    make -j 2
    
    make install
    

    三、启动Redis

    编译完成后,在/usr/local/redis/src目录中多了两个可执行文件redis-cli和redis-server。

    redis-server用于启动Redis服务

    redis-cli是Redis的客户端

    /usr/local/bin目录中也多了几个可执行文件

    执行redis-server,出现如下界面说明Redis算是装好了。不过有几个警告需要处理一下,解决的方法在警告信息中已经给出了。

    # 第一个警告的解决方法
    echo net.core.somaxconn=511 >> /etc/sysctl.conf
    
    # 第二个警告的解决方法
    echo vm.overcommit_memory=1 >> /etc/sysctl.conf
    # 使/etc/sysctl.conf生效
    sysctl -p
    
    # 第三个警告的解决方法
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
    

    之后再重新执行redis-server,可以看到,警告信息消失了。Redis服务顺利启动。

    此时Redis服务在前台执行,修改Redis的配置文件,让Redis服务可以在后台运行

    vim /usr/local/redis/redis.conf
    

    将daemonize no改为daemonize yes,然后使用配置文件重新启动redis

    cd /usr/local/bin/
    
    # 启动redis服务
    ./redis-server ../redis/redis.conf
    
    # 启动redis客户端
    redis-cli
    

    打开Redis客户端,可以成功存储数据。

  • 相关阅读:
    单节点Redis使用 Python pipline大批量插入数据
    Redis进阶实践之十六 Redis大批量增加数据
    Redis进阶实践之十四 Redis-cli命令行工具使用详解
    Redis进阶实践之十三 Redis的Redis-trib.rb脚本文件使用详解
    (error) MOVED 5798 172.17.0.3:6379
    Redis进阶实践之十二 Redis的Cluster集群动态扩容
    [ERR] Node is not empty. Either the node already knows other nodes (check with C
    【Redis】编译错误zmalloc.h:50:31: fatal error: jemalloc/jemalloc.h: No such file or directory
    Redis进阶实践之十一 Redis的Cluster集群搭建
    linux 安装软件各种错误集锦及解决方法
  • 原文地址:https://www.cnblogs.com/CharrammaBlog/p/13890465.html
Copyright © 2011-2022 走看看