如何在 Debian 9 上安装和配置 Redis

2023-10-26

Redis 是一个开源内存键值数据存储。它可以用作数据库、缓存和消息代理,并支持各种数据结构,如字符串、哈希、列表、集合等。Redis 通过 Redis Sentinel 提供高可用性,包括监控、通知、自动故障转移。它还通过 Redis Cluster 提供跨多个 Redis 节点的自动分区。

本教程介绍如何在 Debian 9 服务器上安装和配置 Redis。

先决条件#

在开始学习本教程之前,请确保您以以下身份登录具有 sudo 权限的用户 .

在 Debian 上安装 Redis#

Redis 软件包包含在默认的 Debian 9 存储库中。安装非常简单,只需按照以下步骤操作即可:

  1. 首先通过发出以下命令更新 apt 软件包列表:

    sudo apt update
  2. 通过键入以下内容安装 Redis:

    sudo apt install redis-server
  3. 安装完成后,Redis服务将自动启动。您可以通过键入以下内容来检查服务的状态:

    sudo systemctl status redis-server

    你应该看到这样的东西:

    ● redis-server.service - Advanced key-value store
    Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
    Active: active (running) since Wed 2018-12-05 08:54:49 PST; 4min 52s ago
        Docs: http://redis.io/documentation,
            man:redis-server(1)
    Main PID: 1569 (redis-server)
    CGroup: /system.slice/redis-server.service
            └─1569 /usr/bin/redis-server 127.0.0.1:6379
如果您的服务器上禁用了 IPv6,Redis 服务将无法启动。

至此,Redis 已在您的 Debian 9 服务器上安装并运行,您可以开始使用它。

配置Redis远程访问#

默认情况下,无法从远程位置访问 Redis。您只能从 127.0.0.1 (localhost)(运行 Redis 的计算机)连接到 Redis 服务器。

仅当您想要从远程主机连接到 Redis 服务器时,才需要完成以下步骤。如果您使用单服务器设置,其中应用程序和 Redis 在同一台计算机上运行,​​则不应启用远程访问。

要将 Redis 配置为接受远程连接,请使用文本编辑器打开 Redis 配置文件:

sudo vim /etc/redis/redis.conf

Search对于以以下开头的行bind 127.0.0.1并替换127.0.0.1 with 0.0.0.0.

/etc/redis/redis.conf
# IF YOU ARE SURE YOU WANT YOUR INSTANCE TO LISTEN TO ALL THE INTERFACES
# JUST COMMENT THE FOLLOWING LINE.
# ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
bind 0.0.0.0

保存文件并关闭编辑器。

重新启动 Redis 服务以使更改生效:

sudo systemctl restart redis-server

使用以下命令验证Redis是否已倾听在端口上的所有接口上6379:

ss -an | grep 6379

您应该看到如下所示的内容:

tcp    LISTEN     0      128       *:6379                  *:*

接下来,您需要添加一条防火墙规则,以允许 TCP 端口上来自远程计算机的流量6379.

假设您正在使用UFW管理您的防火墙并且您希望允许来自192.168.121.0/24子网,您将运行以下命令:

sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379

确保您的防火墙配置为仅接受来自受信任 IP 范围的连接。

要验证所有设置是否正确,您可以尝试使用以下命令从远程计算机 ping Redis 服务器:redis-cli公用事业:

redis-cli -h <REDIS_IP_ADDRESS> ping

该命令应返回以下响应PONG:

PONG

结论#

恭喜,您已经在 Debian 9 服务器上成功安装了 Redis。要了解有关如何管理 Redis 安装的更多信息,请访问Redis 文档 page.

如果您有疑问,请随时在下面发表评论。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 Debian 9 上安装和配置 Redis 的相关文章

  • Java 和 PostgreSQL 之间的“坏记录 MAC”SSL 错误

    我们遇到了 Java 应用程序和 PostgreSQL 8 3 服务器之间随机断开连接的问题 并出现 坏记录 MAC SSL 错误 我们两边都运行 Debian Lenny 在客户端 我们看到 main WRITE TLSv1 Applic
  • Node.js 与 Redis:同步还是异步?

    在我的应用程序 node express redis 中 我使用一些代码同时更新数据库中的多个项目 app put myaction function req res delete stuff db del key1 db srem set
  • Python Reddis 队列 ValueError:worker 无法处理 __main__ 模块中的函数

    我正在尝试使用 python rq 在 redis 中排队一项基本作业 但它会抛出此错误 ValueError 函数来自main模块无法被工作人员处理 这是我的程序 import requests def count words at ur
  • Redis - 考虑重命名其中一个 bean 或通过设置 spring.main.allow-bean-definition-overriding=true 来启用覆盖

    我正在开发Spring Boot Spring Data Redis例子 在此示例中 我正在开发以下代码RedisMessageListenerContainer并在这里定义相应的bean 现在 当我运行该应用程序时 出现以下错误 有人可以
  • 构建预配置的 debian 包

    我正在尝试构建一个 debian 软件包 它会自动配置我的所有计算机以使用相同的配置文件和设置 例如 我尝试设置诸如 alter etc default hostapd conf 之类的内容 我目前正在通过使用 dh install 将文件
  • 如何判断sidekiq是否连接到redis服务器?

    使用控制台 如何判断 sidekiq 是否连接到 Redis 服务器 我希望能够做这样的事情 if sidekiq is connected to redis psuedo code MrWorker perform async do wo
  • 如何在实时添加对象时从 Redis 中弹出对象?

    我想让 Node js 进程运行 因为它正在检查 Redis 服务器是否有任何新的弹出内容 另一个进程将偶尔进行推送 而 Node 进程将尝试弹出任何进来的内容 Node 进程将保持运行 有人能给我指出一个好的方向吗 我正在尝试找出如何监听
  • 有没有办法在 Redis 和关系数据库中使用带有 @RedisHash 的实体?

    我正在使用Spring引导 为了将我的实体保存在关系数据库上 我配置了一个数据源和我的域类 例如 Entity Table schema schema name name tb name public class table name ex
  • PHP 5.3.3 中的 ini_set("memory_limit") 根本不起作用

    我之前有过这样的工作 echo ini get memory limit n ini set memory limit 256M echo ini get memory limit n 这将输入 32M 256M 在通过命令行执行的 php
  • 找不到模块“socket.io/node_modules/redis”

    当尝试做的时候 var redis require socket io node modules redis 我收到错误 找不到模块 socket io node modules redis 我不明白为什么 我正在运行 Windows 并运
  • AWS Redis 从外部连接

    有没有办法从外部 AWS 网络连接 AWS 上托管的 Redis 实例 我有一个基于 Windows 的 EC2 实例在 AWS 上运行 另一个是 Redis 缓存节点 我知道有人问过这个问题 但答案是在基于 Linux 的系统中 但我的是
  • Laravel - 缓存 Eloquent 并频繁更新

    是否可以对经常修改的对象使用缓存 例如 假设我们有一个 BlogPost 对象 并且有一个经常更改的 num of views 列 以及其他列 是否可以更新缓存和数据库中的 num of views 字段 而不破坏缓存对象并重新创建它 我可
  • Spring RedisTemplate:8次调用后方法键挂起

    我使用 Spring RedisTemplate spring data redis 1 7 1 与 Redis 进行通信 我需要通过正则表达式获取然后删除键 例如 context user1 我用的方法 RedisTemplate key
  • 如何为 Debian/Ubuntu 打包 Mono 应用程序

    是否有任何用于为 Debian Ubuntu 打包 Mono 应用程序的指南或工具 比如将应用程序附带的程序集放在哪里等 Mono 有一些关于打包的一般准则 但这些准则并非特定于 Debian Ubuntu 它们的做法可能有所不同 http
  • Node.js 上通过套接字连接 Redis

    由于共享托管 目标主机上的我的 redis 服务器不在端口上运行 而是在非常特定的套接字上运行 可以通过套接字文件连接到该套接字 只有我的用户可以访问 但是 我还没有找到如何通过套接字指定连接node redis and connect r
  • 如何在 Ubuntu 中注册文件关联

    我正在创建 Ubuntu 安装程序 我需要注册自己的文件扩展名 但我找不到任何有关如何执行此操作的示例 人们可以为我提供一些关于如何执行此操作的脚本片段吗 注意 我正在使用安装干扰器 http www installjammer com 帮
  • 保护节点 Redis

    我正在尝试保护 Node Redis IPC 服务器以使用私钥 公钥 我已经关注了本教程 http bencane com 2014 02 18 sending redis traffic through an ssl tunnel wit
  • python 3.5 中的 json.loads 和 Redis

    我使用 json dumps 创建了一个 JSON 对象 并在 Redis 列表中将其 RPUSH ed 当使用 LRANGE redis lrange 返回 JSON 时 我收到一个二进制字符串 b si 00 ff 所以 json lo
  • 错误:“defaultfloat”不是“std”的成员

    std defaultfloat尽管在 GCC 中似乎没有定义在标准中 http www cplusplus com reference ios defaultfloat 我认为是 27 5 6 4 我将其隔离为这个简单的程序 test c
  • Debian - /usr/bin/env: 'php\r': 没有这样的文件或目录

    所以当我跑步时 直接讨论问题 yii似乎我从 Debian stretch 中收到了从 Docker 运行的错误 然而当我跑步时 usr bin env php v我得到了正确的输出 没有问题 似乎新行被翻译为字符串时出现问题 我不知道如何

随机推荐

  • Seaborn 热图教程(Python 数据可视化)

    在本教程中 我们将使用名为 seaborn 的 Python 库以热图形式表示数据 该库用于基于以下内容可视化数据Matplotlib 您将了解什么是热图 如何创建它 如何更改其颜色 调整其字体大小等等 所以让我们开始吧 目录 hide 1
  • 安装、配置和维护 Linux DNS 服务器

    DNS 域名系统 是计算机的命名系统 执行此操作的服务是 DNS 服务器 它将 IP 地址转换为人类可读的地址 这个进程是互联网的支柱 也是服务器中非常重要的服务 因此从那时起 我们将讨论 DNS 服务器 特别是 Linux DNS 服务器
  • Linux 中的 SSH 端口转发(隧道)

    在本教程中 我们将介绍 Linux 中的 SSH 端口转发 这是 SSH 实用程序的一项功能 Linux 管理员使用该实用程序在不同系统之间创建加密且安全的中继 您可以使用 SSH 端口转发 SSH 隧道 在两个或多个系统之间创建安全连接
  • 在几分钟内创建一个 Python Discord 机器人:简单教程

    Discord 机器人是在 Discord 平台上运行的自动化程序 机器人可以做各种各样的事情 从播放音乐 发送自动消息 管理角色 到踢掉违反规则的用户 以及许多其他任务 Discord 机器人的核心功能是基于事件构建的 例如 当发生新消息
  • 如何在 Apache/Nginx 中阻止 .git 目录

    版本控制系统 例如 Git 对于软件开发至关重要 但是 如果没有适当保护 它们可能会暴露敏感信息 许多 Web 开发人员错误地让 git 目录在生产环境中可访问 这可能允许任何人下载和查看存储库 本文演示了如何阻止对 gitApache 和
  • 如何在 macOS 上安装 LibreOffice

    如果您使用 macOS 您可能会使用 Apple 构建的应用程序 例如 Pages Numbers 和 Keynote 进行文字处理 电子表格和演示文稿 这些都是很棒的程序 具有很多功能并且易于使用 它们也不是免费的 您只能通过 Mac A
  • Linux 中的 whoami 命令(查找登录用户)

    whoami 是一个基本的 Unix Linux 命令 用于查找与当前有效用户 ID 关联的用户名 这通常用于识别 shell 中当前登录的用户 该命令也适用于外壳脚本识别运行脚本的用户 ID Syntax whoami OPTION Li
  • 如何在 PHP 中计算数组元素

    您可以使用 PHPcount or sizeof 函数获取数组中元素或值的数量 这count and sizeof 对于已使用空数组初始化的变量 方法返回 0 如果数组未初始化 您将看到错误 在这种情况下 您可以使用 isset 函数来检查
  • 如何禁用 Apache 中的目录列表

    Apache 是最流行的开源 Web 服务器之一 全球许多网站都在使用它 它的功能之一是能够在不存在索引文件时列出目录及其内容 此功能虽然对某些用途很方便 但可能会向公众公开有关网站结构或内容的敏感信息 在本文中 我们将引导您了解如何禁用
  • 如何在 Ubuntu 16.04 和 14.04 LTS 上安装 phpPgAdmin

    phpPg管理员是一个 Web 界面 用于以非常简单的方式访问和管理 PostgreSQL 数据库 我们可以轻松地创建新的数据库 数据库中的表 用户 存储过程等 此外 我们还可以执行PL pgSQL和其他存储过程 它还提供了从 Web 界面
  • ERROR 1114 (HY000): 表‘tablename’已满(解决方案)

    MySQL 是一种广泛使用的开源关系数据库管理系统 RDBMS 可实现高效的数据存储和检索 但是 用户偶尔可能会遇到错误 例如 ERROR 1114 HY000 The table table name is full 消息 当达到表的存储
  • 什么是Fish(友好交互式SHell)?

    鱼 或者 友好的交互式SHell 是一个 Unix shell 其设计重点是用户友好性和交互使用 它于 2005 年推出 由于其独特的功能 有用的默认设置以及对愉快的用户体验的关注 赢得了众多追随者 鱼的主要特征和特点 交互式自动完成 Fi
  • Unix/Linux 中什么是僵尸进程

    僵尸进程是指已完成执行但其父进程尚未终止并释放其资源的进程 在 Unix Linux 中 处于这种状态的进程被视为僵尸进程 这些进程会占用宝贵的系统资源 如果处理不当 可能会导致稳定性问题 以下是了解和处理 Unix Linux 中僵尸进程
  • 您绝对需要的 7 件在家办公必需品

    甚至在 COVID 19 大流行爆发之前 很多人就在家工作 然而 他们中的大多数人并不是全职在家工作 这就是为什么这种强制性的远程办公可能异常难以适应 虽然业务模式或工作实践的每次变化都需要一些时间来适应 但您需要记住 有很多方法可以稍微促
  • 在 Laravel 中设置文件权限的正确方法:详细教程

    Laravel 是一种流行的 Web 应用程序开发 PHP 框架 非常注重安全性 在 Laravel 的众多安全考虑因素中 正确设置文件权限至关重要 如果没有正确的权限 您的应用程序可能容易受到攻击 或者可能由于缺乏必要的访问权限而发生故障
  • 如何保护 Apache 中的特定 URL

    阻止用户访问特定网页有助于防止他们接触敏感信息 如果您将站点托管在 Apache 服务器上 则可以通过锁定特定 URL 来锁定站点 如果您只需要阻止访问单个页面 则可以锁定 URL 而无需锁定整个站点 使用 Apache 有多种方法可以做到
  • Bash 读取命令

    Bash 附带了许多内置命令 您可以在命令行或 shell 脚本中使用这些命令 在本文中 我们将探讨内置read命令 Bash read内置 read是一个 bash 内置命令 它从标准输入 或文件描述符 读取一行并将该行拆分为单词 第一个
  • 如何在 CentOS 8 上安装 Visual Studio Code

    视觉工作室代码是微软开发的开源 跨平台代码编辑器 它具有内置的调试支持 嵌入式Git控制 语法突出显示 代码完成 集成终端 代码重构和片段 本文介绍如何在 CentOS 8 上安装 Visual Studio Code 先决条件 这些说明假
  • 如何在 CentOS 8 上安装和使用 FFmpeg

    FFmpeg 是一个用于处理多媒体文件的免费开源工具集合 它包含一组共享的音频和视频库 例如libavcodec libavformat和libavutil 使用 FFmpeg 您可以在各种视频和音频格式之间进行转换 设置采样率 捕获流音频
  • 如何在 Debian 9 上安装和配置 Redis

    Redis 是一个开源内存键值数据存储 它可以用作数据库 缓存和消息代理 并支持各种数据结构 如字符串 哈希 列表 集合等 Redis 通过 Redis Sentinel 提供高可用性 包括监控 通知 自动故障转移 它还通过 Redis C