Redis环境搭建:在Ubuntu系统安装Redis最全教程!

前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站。

1. 先切换到root用户(需要使用root用户的权限)

如果是普通用户使用su命令切换到root

2. 使用 apt 命令来搜索 redis 相关的软件包

apt search redis

我们安装的是Ubuntu最新最全的7.0系统,如下图

3.使用apt命令安装redis

apt install redis

然后输入Y

自动下载完成后,可以自行用命令检查是否安装成功

netstat -anp | grep redis

如果输出结果为下,就表示安装成功了,并且我们要了解Redis的默认端口号是6379

4.修改Redis的配置文件

cd /etc/redis/

vim redis.conf

可以打开配置文件去修改配置

第一个需要修改的地方

通过滚轮滑动(在第87行)找到bind 127.0.0.1进行一个修改,只需要把前面的IP地址转化为0.0.0.0,注意后面非IP地址的部分不要修改

修改的原因:

绑定这个 127.0.0.1 的 ip 意味着只能由当前主机上的客户端访问
跨主机就访问不了了~~

第二个修改的地方:

将保护模式关掉在第111行

5.重新启动服务器

命令:

service redis-server restart

如果没有任何提示就表示我们的重启成功了,同时我们也可以通过命令去判别到底有没有更新成功
 

service redis-server status

有这个绿色的标志就代表Redis服务器正在运行当中

6.使用Redis自带的客户端来连接服务器

redis-cli

自己需要ping一下

如果显示的PONG就代表Redis安装成功~

最后要补充的是如何退出这个命令呢?

CTRL + d 表示退出redis客户端

至此,我们就成功在ubuntu上安装了redis!

下面是对指令的一些解释补充,来加深我们的理解,读者可自行阅读~


TIP1:为什么有CTRL+D来退出redis客户端

简单来说,Ctrl+D 并不是 Redis 客户端自己定义的快捷键,而是 Linux/Unix 终端的一个通用“信号”

下面我为你详细解释它的工作原理和含义。

核心原因:EOF (End-of-File)

Ctrl+D 的本质是向正在运行的程序发送一个 “文件结束符”(End-of-File, EOF) 信号。

  1. 标准输入(stdin):在 Linux 中,每个命令行程序(比如 redis-cli)启动后,都会默认打开一个“标准输入”通道,等待用户输入命令。你可以把它想象成一个无限长的“文件”,程序一直在读取这个“文件”的内容。

  2. EOF 的作用:当你在终端里按下 Ctrl+D 时,你其实是在告诉终端驱动程序:“我的输入到此结束了,后面没有内容了”。终端驱动程序会将这个“输入结束”的信号(EOF)传递给正在前台运行的程序(也就是 redis-cli)。

  3. Redis 客户端的反应redis-cli 程序接收到 EOF 信号后,会认为“用户已经不会再给我发命令了”,于是它就会执行一个优雅的退出流程

    • 关闭与 Redis 服务器的连接。
    • 释放占用的资源。
    • 退出进程,将你返回到 Shell 提示符。

这就是为什么 Ctrl+D 能退出 Redis 客户端的根本原因。它不是 Redis 的“ quit 命令”,而是对所有读取标准输入的命令行程序都有效的“我说完了”的信号。

TIP2:netstat -anp | grep redis指令的解释

第一部分:netstat -anp

netstat(Network Statistics)是一个用于显示网络连接、路由表、接口统计等网络相关信息的命令行工具。后面的 -anp 是它的三个常用选项:

  • -a (all):显示所有连接和监听端口。默认情况下,netstat 不会显示处于监听(LISTEN)状态的套接字,这个选项会把它们也显示出来。
  • -n (numeric):以数字形式显示地址和端口号。如果不加这个选项,netstat 会尝试将 IP 地址解析为主机名(如 my-server),将端口号解析为服务名(如 http)。使用 -n 可以加快命令执行速度,并避免因 DNS 解析问题导致的延迟或错误。
  • -p (program):显示与网络连接相关的进程 ID (PID) 和进程名称。这是非常关键的一个选项,它能告诉你到底是哪个程序在使用这个端口或建立这个连接。注意:通常需要 root 权限才能看到所有进程的信息。

所以,netstat -anp 单独执行,会列出系统上所有的网络连接(包括 TCP、UDP)、监听端口,并以数字形式显示地址和端口,同时显示出是哪个进程在使用它们。


第二部分:| grep redis

  • | (管道符):这是 Linux 的管道操作符。它将前一个命令(netstat -anp)的输出结果,作为后一个命令(grep redis)的输入。
  • grep redisgrep 是一个强大的文本搜索工具。它会从输入中筛选出包含 “redis” 字符串的行。

组合起来:netstat -anp | grep redis

这个命令的整体作用就是:从系统所有的网络连接信息中,筛选出与 Redis 服务相关的连接和监听端口信息。

它通常会输出类似下面的内容:
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1234/redis-server
tcp        0      0 192.168.1.100:6379      192.168.1.200:54321     ESTABLISHED 1234/redis-server
tcp        0      0 192.168.1.100:6379      192.168.1.201:12345     ESTABLISHED 1234/redis-server
输出列的含义(从左到右):
  1. 协议:如 tcp 或 udp
  2. Recv-Q:接收队列中当前的字节数。
  3. Send-Q:发送队列中当前的字节数。
  4. 本地地址:服务器的 IP 和端口。127.0.0.1:6379 表示 Redis 只监听本地回环地址,0.0.0.0:6379 表示监听所有网卡。
  5. 外部地址:客户端的 IP 和端口。0.0.0.0:* 表示还没有建立连接(处于监听状态),192.168.1.200:54321 表示一个已建立的连接。
  6. 状态
    • LISTEN:正在监听连接(通常是服务端)。
    • ESTABLISHED:连接已建立。
    • TIME_WAIT:连接已关闭,正在等待超时以彻底断开。
    • CLOSE_WAIT:远程端已关闭连接,等待本地应用程序关闭。
  7. PID/Program name:使用该端口的进程的 PID 和名称,如 1234/redis-server。这是确认是 Redis 进程的关键证据。

这个命令的常见用途和场景:

  1. 确认 Redis 服务是否启动并正常监听
    • 如果能看到 LISTEN 状态的行,说明 Redis 服务已经成功启动并在监听端口(默认 6379)。
    • 如果没有任何输出,通常意味着 Redis 服务没有启动,或者没有使用默认端口。
  2. 检查 Redis 绑定的 IP 地址
    • 查看本地地址是 127.0.0.1:6379 还是 0.0.0.0:6379 或服务器的具体 IP。这对于安全配置至关重要。如果显示 0.0.0.0,意味着 Redis 允许来自任何网络接口的连接,如果没有设置密码,会有严重的安全风险。
  3. 查看当前有哪些客户端连接到了 Redis
    • 所有状态为 ESTABLISHED 的行都代表一个活跃的客户端连接。你可以看到客户端的 IP 地址(外部地址列),这对于排查问题、审计访问来源非常有用。
  4. 排查连接问题
    • 如果应用程序无法连接 Redis,可以用这个命令检查 Redis 是否在监听、是否绑定了正确的 IP、是否有大量的连接处于 TIME_WAIT 或 CLOSE_WAIT 状态(可能意味着连接泄漏或应用未正确关闭连接)。
  5. 确认是哪个进程占用了 Redis 端口
    • 虽然我们知道是 Redis,但在某些情况下(比如端口冲突),-p 选项可以明确告诉你进程的 PID 和名称,方便你用 kill 命令结束它。

注意事项和现代替代方案

  • 权限问题-p 选项通常需要 sudo 或 root 权限才能显示所有进程信息。普通用户可能只能看到自己拥有的进程。
  • netstat 已逐渐被 ss 取代netstat 属于 net-tools 包,这个包在很多新的 Linux 发行版中已被标记为过时(deprecated)。推荐使用更现代、更高效的 ss 命令(属于 iproute2 包)。

等效的现代命令是

sudo ss -antp | grep redis
  • ss 的选项与 netstat 非常相似:
    • -a:显示所有套接字。
    • -n:以数字形式显示端口。
    • -t:仅显示 TCP 连接(Redis 通常用 TCP)。
    • -p:显示进程信息。

总结

netstat -anp | grep redis 是一个用于快速诊断 Redis 网络状态的运维命令。它能让你一眼看出 Redis 是否在运行、监听在哪个地址、有哪些客户端连接以及连接状态如何,是 Linux 系统管理员和开发人员排查 Redis 相关网络问题的首选工具之一。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

可涵不会debug

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值