zoukankan      html  css  js  c++  java
  • redis编译安装

    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下,并重命名。

    1
    2
    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文件夹进行编译安装

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

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

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

    1
    2
    # 查看gcc版本
    gcc -v
    

    升级gcc到9版本

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

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

    1
    2
    3
    4
    5
    # 临时启用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后重新编译

    1
    2
    3
    4
    5
    6
    # 清除之前编译的可执行文件及配置文件。
    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算是装好了。不过有几个警告需要处理一下,解决的方法在警告信息中已经给出了。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    # 第一个警告的解决方法
    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

    1
    2
    3
    4
    5
    6
    7
    cd /usr/local/bin/
    
    # 启动redis服务
    ./redis-server ../redis/redis.conf
    
    # 启动redis客户端
    redis-cli
    

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

  • 相关阅读:
    js简单的双向绑定
    angular的$scope
    angular一些冷门的用法
    堆栈
    angular一些有启发的博客
    160830、如何运用最新的技术提升网页速度和性能
    160829、Java加解密与数字签名
    160826、浏览器渲染页面过程描述,DOM编程技巧以及重排和重绘
    160825、互联网架构,如何进行容量设计?
    160824、ionic添加地图站点
  • 原文地址:https://www.cnblogs.com/xiexun/p/15155256.html
Copyright © 2011-2022 走看看