Linux 下 Redis 安装教程

  • 事先准备
  • 下载 Redis
  • 安装 Redis
  • 设置 Redis 开机自启动
  • 远程访问 Redis
    • RDM 远程访问 Redis

笔者的运行环境:

  • CentOS Stream 8 x86_64

  • Redis 6.2.5

事先准备

  1. 进行这个教程之前,必须要先安装好一个 Linux 操作系统。这个 Linux 操作系统可以安装在虚拟机中,也可以安装在真实的电脑中。关于这方面的内容,可见笔者的其它博客:

    VMware Workstation Pro 16 安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/112152218

    Linux 操作系统 CentOS Stream 安装教程:
    https://blog.csdn.net/wangpaiblog/article/details/119792728

    为了方便远程输入命令、将文件加入到 Linux 操作系统中,最好还要在一台 Windows 操作系统上面使用一种终端控制软件,如 Xshell、Xftp 等。关于这方面的内容,可见笔者的另一篇博客:

    如何在 Windows 主机上访问本地局域网中的 Linux 主机:
    https://blog.csdn.net/wangpaiblog/article/details/120052152

  2. 一般来说,安装一个软件有 3 种方法:离线安装、在线安装、免安装。通常,离线安装是最好的方法,同时也通常是笔者的首选,但本文使用的是免安装方法。原因是,在 Redis 的官网中就只给出了这一种文件包。

下载 Redis

  1. 打开 Redis 官网,找到 Redis 的最新稳定版来下载。在笔者编写本博客时,Redis 的最新稳定版为 6.2.5。具体的流程如下面的图片所示。

    Redis 的官网是:https://redis.io/

    Redis 下载处的最终网址:

    • https://redis.io/download

    • http://download.redis.io/releases/

  2. 下载完成之后,会得到约为 2.5M 的文件 redis-6.2.5.tar.gz。这个大小看起来像下载的是一种在线安装包。但是没错!这就是 Redis 的离线免安装包。一般来说,对于 Red Hat 操作系统,在线安装包会以 rpm 为后缀,离线安装包会以 rpm(单安装包)或 tar(多依赖安装包)为后缀,而免安装包则为双后缀 .tar.gz

安装 Redis

  1. 先不要急着安装 Redis。Redis 是用 C 语言编写的,碰巧 Linux 也几乎如此。而 Redis 的安装需要借助 GCC 进行编译,而 Linux 上可能已经安装了 GCC 了。对于 Redis 6 以上,GCC 的版本要在 5.3 以上。所以需要先检查 Linux 中 GCC 的版本。

    输入如下命令查看 Linux 中 GCC 的版本:

    gcc --version

    [root@localhost Redis 安装包]# gcc --version
    gcc (GCC) 8.5.0 20210514 (Red Hat 8.5.0-3)
    Copyright © 2018 Free Software Foundation, Inc.
    本程序是自由软件;请参看源代码的版权声明。本软件没有任何担保;
    包括没有适销性和某一专用目的下的适用性担保。
    

    可以看出,笔者的操作系统的 GCC 版本为 8.5.0,符合要求。如果读者的不符要求,可以依次输入以下命令安装较高版本的 GCC:

    yum -y install centos-release-scl
    yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils
    scl enable devtoolset-9 bash
    echo "source /opt/rh/devtoolset-9/enable" >>/etc/profile

  2. 将下载完的 .tar.gz 包通过 xftp 传入 Linux 中。

    使用如下命令进入目录 Redis 压缩包所在目录:(下面的 Redis 压缩包所在目录 要改成实际的目录)

    cd Redis 压缩包所在目录

  3. 使用如下命令解压 gz 包:

    tar -xzvf redis-6.2.5.tar.gz

  4. 使用如下命令进入解压后的目录:

    cd redis-6.2.5

  5. 解压后的目录中有两个重要的文件。这两个文件请务必记住,下面将用到。

    • redis.conf。此文件是 Redis 启动必需的一个配置文件。
    • utils/redis_init_script。此文件是 Redis 的启动、中止脚本。
  6. 依次输入如下命令安装 Redis:

    make
    make install PREFIX=/usr/local/redis

    上述命令将会在目录 /usr/local/redis/bin 中生成 Redis 的可执行文件。此目录请务必记住,下面将用到。

  7. 在 Linux 中设置 Redis 的环境变量。

    一个偷懒的方法是将环境变量添加在文件 /etc/profile 中。之所以说偷懒,是因为一旦升级或重装了 Linux 操作系统,这个文件就会被重置。

    最好的方法是将自设的环境变量放到 $HOME/ 下的缀为 .bash 的一系列文件中。不过笔者有时也偷懒。

  8. 在 Linux 中设置 Redis 的环境变量偷懒方法:

    在文件 /etc/profile 尾追加以下内容:(注意:修改前最好先备份,以免发生误修改)

    export PATH=$PATH:/usr/local/redis/bin
    

    在文件 /etc/profile 中追加路径正是上面生成的 Redis 的可执行文件的路径。

  9. 现在需要验证一下环境变量有没有设置成功,但先不要着急验证,因为文件 /etc/profile 在 Linux 启动时才会被读取。可以使用以下方法来使环境变量生效。

    • 使用命令 source:

      source /etc/profile

    • 重启。重启的方法有很多,也可以使用命令 reboot

  10. 验证环境变量。这种方法有很多,只举几例。

    • 输入以下命令。如果输出了前面的设置,说明前面的环境变量设置成功。

      echo $PATH

    • 输入以下命令。如果输出了相应的路径(就是前面生成的 Redis 的可执行文件的路径),说明前面的环境变量设置成功。

      which redis-cli

      [root@localhost ~]# which redis-cli
      /usr/local/redis/bin/redis-cli
      
  11. 将上面提到的文件 redis.conf 复制到 Redis 的相关目录中,这里设为 /usr/local/redis/conf

    mkdir -p /usr/local/redis/conf
    cp redis.conf /usr/local/redis/conf

设置 Redis 开机自启动

  1. 修改刚刚复制后的文件 /usr/local/redis/conf/redis.conf。将该文件中的 daemonize no 改为 daemonize yes。这是为了将 Redis 作为守护进程来运行,便于开机启动。

  2. 将上面提到的文件 utils/redis_init_script 复制到 Linux 的启动目录 init.d 中,并重命名为 redis。然后对其添加执行权限。

    cp utils/redis_init_script /etc/init.d/redis
    chmod +x /etc/rc.d/init.d/redis

  3. 修改刚刚复制后的文件 /etc/rc.d/init.d/redis。这需要改动 3 处。之所以这样改动,是因为这些目录中涉及前面生成的 Redis 的可执行文件以及文件 redis.conf

    (注意:EXEC、CLIEXEC 的路径是没有引号的,CONF 的路径是引号的。)

    • EXEC:将 EXEC 行的路径改为 /usr/local/redis/bin/redis-server
    • CLIEXEC:将 CLIEXEC 行的路径改为 /usr/local/redis/bin/redis-cli
    • CONF:将 CONF 行的路径改为 "/usr/local/redis/conf/redis.conf"

  1. 设置 Redis 开机自启动。

    chkconfig redis on

  2. 输入以下命令验证是否成功设置了 Redis 开机自启动:

    chkconfig --list

    如果输出结果含 redis,且 3、4、5 值均为,说明设置成功。输出如下所示:

    redis 0:关 1:关 2:开 3:开 4:开 5:开 6:关

  3. 重启电脑试一下是否真正成功。重启后,马上输入以下命令:

    netstat -na | grep 6379

    [root@localhost ~]# netstat -na | grep 6379
    tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN
    tcp6       0      0 ::1:6379                :::*                    LISTEN
    

    如果输出了端口 6379 被使用的信息,说明 Redis 开机自启动成功。

远程访问 Redis

  1. Linux 通常作为服务器操作系统,一般希望能使用远程使用 Redis。不过,Linux 上有防火墙,默认会阻止远程对 Redis 的连接。实际上,它会阻止所有的远程连接。对于笔者的 CentOS Stream 8 x86_64,默认的防火墙为 firewalld,而不是 iptables。(很多人会选择安装 iptables,但偷懒的笔者当时没有选择这样做。)

    • 一个偷懒的方法就是,永久地关闭防火墙。关闭的方法如下:

      systemctl stop firewalld
      systemctl mask firewalld
      firewall-cmd --reload

    • 另一个方法是,在防火墙中永久开放 MySQL 的默认端口 6379。开放的方法如下:

      firewall-cmd --zone=public --add-port=6379/tcp --permanent
      firewall-cmd --reload

      单独开放完端口 6379 之后,可以输入以下命令查看是否生效:

      firewall-cmd --zone=public --query-port=6379/tcp

      [root@localhost temp]# firewall-cmd --zone=public --query-port=6379/tcp
      yes
      

      实际上,也可以输入以下命令查看所有开放的端口:

      firewall-cmd --zone=public --list-ports

      [root@localhost temp]# firewall-cmd --zone=public --list-ports
      6379/tcp
      
  2. 对于常规的软件,一般这样设置就可以了,但作为数据库的 Redis 还要求进行额外设置。

  3. 打开前面提到的文件 /usr/local/redis/conf/redis.conf,将其中的 protected-mode 的值改为 no

  4. 继续修改此文件 redis.conf。将其中没有被注释掉的 bind 127.0.0.1 那行注释掉。将 bind 全部注释掉之后就会开放所有的客户端连接。当然,为了安全,最好是选择开放指定的与 Redis 绑定的客户端,但偷懒的笔者没有当时选择这样做。


    【注意】

      bind 是用于指定与 Redis 绑定的客户端 IP,也就是运行本 Redis 的主机 IP。如果设置了此项,其它主机就可以通过本机 IP 来远程访问本机的 Redis 服务。也就是说,bind 只是用于指定与本机 Redis 通信时,可用的 IP 目的地址,而不是 IP 源地址(即不是指定哪些外界 IP 可以访问本机的 Redis)


  5. 重启 Redis 来使上述配置生效。可以依次使用终止、启动 Redis 来实现重启。


    【附】

    • Redis 的手动启动命令是:service redis start
    • Redis 的手动终止命令是:service redis stop

  6. 现在可以尝试远程访问 Redis。可以在本地客户端输入以下命令来验证:

    ssh -v -p 6379 192.168.0.100

    以笔者在 Windows 的 CMD 中,访问 Linux 的端口号 6379 为例。

    如果访问成功,输出信息为:

    C:\Users\XXX>ssh -v -p 6379 192.168.0.100
    OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
    debug1: Connecting to 192.168.0.100 [192.168.0.100] port 6379.
    debug1: Connection established.
    debug1: identity file C:\\Users\\XXX/.ssh/id_rsa type 0
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_rsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_dsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_dsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_ecdsa type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_ecdsa-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_ed25519 type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_ed25519-cert type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_xmss type -1
    debug1: key_load_public: No such file or directory
    debug1: identity file C:\\Users\\XXX/.ssh/id_xmss-cert type -1
    debug1: Local version string SSH-2.0-OpenSSH_for_Windows_7.7
    debug1: ssh_exchange_identification: -ERR unknown command `SSH-2.0-OpenSSH_for_Windows_7.7`, with args beginning with:
    

    如果访问不成功,输出信息为:

    C:\Users\XXX>ssh -v -p 6379 192.168.0.100
    OpenSSH_for_Windows_7.7p1, LibreSSL 2.6.5
    debug1: Connecting to 192.168.0.100 [192.168.0.100] port 6379.
    debug1: connect to address 192.168.0.100 port 6379: Connection refused
    ssh: connect to host 192.168.0.100 port 6379: Connection refused
    

RDM 远程访问 Redis

  1. 和其它数据库一样,Redis 也有自己的 GUI 软件 Redis Desktop Manager(简称 RDM)。很遗憾也很奇怪的是,该软件现在下载不是免费的,但却是开源的。开源意味着可以使用开发工具来生成该软件的安装包。也许开发者们曾经也在开源与收费中徘徊。

    RDM 官网:https://rdm.dev/

    RDM 开源地址: https://github.com/uglide/RedisDesktopManager

    (笔者不打算让简单问题复杂化,去教读者如何生成 RDM 的安装包,这需要下载 VS 、Qt。但笔者在编写本教程时已经有了安装包了。)

  2. 打开软件,建立连接。

  3. 按下图填写信息,先测试连接是否可用。如果连接过程中,出现了无响应的状态,这是正常现象,耐心等待即可。

  4. 如果连接可用,就可以建立连接了。

Linux 下 Redis 安装教程相关推荐

  1. linux下redis安装教程,linux下安装配置redis图文详解

    在linux系统下安装redis的详细步骤如下: 1. 首先下载一个redis安装包,下载地址:https://www.daixiaorui.com/source/13.html .也可以去官网下载最 ...

  2. Linux 下 GitLab 安装教程

    Linux 下 GitLab 安装教程 安装 Linux 下载 GitLab 安装 GitLab 登录 GitLab GitLab 汉化 GitLab 设置密钥 卸载 GitLab 为了便于以后使用, ...

  3. mysql linux 安装_mysql-5.7.28 在Linux下的安装教程图解

    2.上传tar包到服务器到 /usr/local/src 3.卸载系统自动的Mariadb rpm -qa | grep mariadb rpm -e --nodeps mariadb-libs-5. ...

  4. linux系统nginx安装教程,Linux下Nginx安装教程

    Linux下Nginx安装教程分享,具体内容如下 1.安装编译文件及库文件 yum -y install make zlib zlib-devel gcc-c++ libtool openssl op ...

  5. Windows下Redis 安装教程

    Windows下Redis 安装教程 下载redis 下载地址:https://github.com/microsoftarchive/redis/releases 打开cmd,进入redis安装目录 ...

  6. 【Redis】Linux下Redis安装与redis-desktop-manager使用(无法连接Redis服务器解决方法)...

    新手小白开始学习nosql数据库Redis,首先从安装入手. 全文分两部分:Linux下安装redis,可视化工具redis desktop manager的简单使用. 一.安装 下载,解压缩和编译R ...

  7. linux下redis安装

    转自:http://blog.java1234.com/blog/articles/311.html Redis从一开始就只支持Linux,后面虽然有团队搞出Window版本,但是我还是建议大伙安装到 ...

  8. window和linux下Redis 安装和使用

    Redis 安装 Window 下安装 下载地址:https://github.com/MSOpenTech/redis/releases. Redis 支持 32 位和 64 位.这个需要根据你系统 ...

  9. 好用的 Markdown 编辑器 Typora【Window 、Linux 下的安装教程】

    Typora 介绍: Markdown 是一种快速书写文章的语法,语法丰富简洁,可以胜任常见的各种文本情况.编辑好的文本经过特定的 Markdown 解释器渲染之后就会呈现出简洁优雅的排版格式,相比于 ...

最新文章

  1. 无预测 不零售 | SAP统一需求预测平台
  2. No.3 clojure 调用 Java
  3. 对我影响最大的三个老师
  4. maven打包指定main函数
  5. 博阅likebook alita专用pdf制作
  6. lua mysql发包_如何发包
  7. UEFI引导修复教程
  8. USB转232和485的区别
  9. java计算机毕业设计网络教学系统源码+系统+数据库+lw文档
  10. 《中国品牌故事》讲述中节能品牌故事:皓日初升
  11. c语言间接级别不同_间接寻址不同问题?求解决!
  12. 《半小时漫画唐诗》读书摘记
  13. html语言em,html中em单位 网页代码的问题:em是什么单位?
  14. 欠阻尼二阶系统的单位阶跃响应分析
  15. 中企海外周报 | 银联业务拓展到171个国家和地区;徐工集团向非洲客户提供定制化设备...
  16. 深入了解快排 以及 优化
  17. coursera-dl 报错 AttributeError (‘HTMLParser’ object has no attribute ‘unescape’)
  18. Oracle Duplicate database
  19. 死了都要try.【转】
  20. Android 四大组件之 BroadcastReceiver_3 实现开机启动拦截电话服务

热门文章

  1. 大话设计模式—外观模式
  2. 大话设计模式—策略模式
  3. 【Lucene】Lucene的使用和优化
  4. 在 Android 上使用协程(二):Getting started
  5. 使用jQuery操作input的value值
  6. 总结:JDK1.5-JDK1.8各个新特性
  7. scala数据结构之Maps和Tuples
  8. C#~异步编程再续~await与async引起的w3wp.exe崩溃-问题友好的解决
  9. WHY YOUR PRIVATE CLOUD COULD LOOK A LOT LIKE PAAS
  10. 搞懂function(*args,**kwargs)