讲师中心 微信公众号
AI工具推荐 视频效率加速

Linux怎么安装Redis_Linux如何部署缓存服务【教程】

陌枫酱_2535

陌枫酱_2535

发布时间:2026-03-22 21:35:02

|

934人浏览过

|

来源于php中文网

原创

生产环境必须源码编译+systemd管理,因apt版Redis版本滞后、配置混乱、不支持include、权限/路径不统一、升级易覆盖配置;需指定PREFIX安装、设supervised systemd、requirepass强密码并严格配置顺序。

linux怎么安装redis_linux如何部署缓存服务【教程】

redis-server 能直接运行,但生产环境必须走源码编译 + systemd 管理,否则后续改配置、加密码、开机自启全会踩坑。

为什么不用 apt install redis-server

Debian/Ubuntu 仓库里的 Redis 版本普遍滞后(比如 Ubuntu 22.04 默认装的是 6.0.x),而 7.x 已成主流,新特性如 ACL、Redis Functions、更细粒度的内存淘汰策略都不可用。更重要的是,包管理器安装的配置路径、用户权限、日志位置不统一,/etc/redis/redis.conf 和实际运行时加载的配置常对不上,改完 requirepass 却连不上,第一反应就是“密码没生效”,其实是服务根本没 reload 那个文件。

  • 仓库版 Redis 不支持 redis.conf 中的 include 指令(7.0+ 引入),无法拆分配置
  • systemd 服务文件硬编码了 User=redis,但包安装未必创建该用户,导致启动失败且报错模糊(Failed at step USER spawning)
  • 升级困难:apt upgrade 可能覆盖你手动改过的配置,或干脆拒绝升级(因配置文件被修改)

make install 前必须设 PREFIX

默认 sudo make install 会把 redis-server、redis-cli 全塞进 /usr/local/bin——看着方便,实则埋雷:多个版本共存时无法区分,卸载只能靠 rm -f 盲删,极易误伤其他软件;更麻烦的是,systemd 服务文件里写死二进制路径,一旦重装没指定 PREFIX,旧服务就指向不存在的文件,systemctl start redis-server 直接报 not found。

  • 推荐固定路径:sudo make install PREFIX=/usr/local/redis-7.2.5
  • 装完立刻验证:ls /usr/local/redis-7.2.5/bin/ 应看到 redis-server、redis-cli 等
  • 别用软链模拟多版本——ln -sf /usr/local/redis-7.2.5 /usr/local/redis 看似优雅,但 systemd 读取 ExecStart 时不会解析软链目标,升级后仍需手动改服务文件

supervised systemd 是守护进程唯一可靠写法

daemonize yes 是过时方案。它让 redis-server 自己 fork 子进程并退出父进程,systemd 完全感知不到子进程生命周期,systemctl status redis-server 显示 active (exited),journalctl -u redis-server 查不到日志,崩溃后也不会自动拉起。

  • 必须改配置项:supervised no → supervised systemd,同时确保 daemonize no(保持默认)
  • 对应 systemd 服务文件中 Type=notify 不可少,否则 systemd 认为服务没准备好,After=network.target 失效
  • 若跳过这步,systemctl enable redis-server 表面成功,重启后服务静默死亡,只留一个空进程 ID 文件在 /var/run/redis.pid

protected-mode no 和 bind 0.0.0.0 必须配密码

开远程访问不是改两行配置就完事。protected-mode no 关掉保护模式后,Redis 会监听所有 IPv4 接口,但若没设 requirepass,任何能连上服务器的人都能执行 FLUSHALL 清空数据——这不是理论风险,是真实发生过的批量删库事件。

  • 顺序不能错:先写 requirepass YourStrongPass!2026,再改 bind 0.0.0.0 和 protected-mode no
  • 密码必须含大小写字母+数字+符号,长度 ≥12;避免用 redis、123456 这类字典词
  • 改完配置后,必须 sudo systemctl restart redis-server,而不是 killall redis-server && redis-server /etc/redis/redis.conf,后者绕过 systemd 管理,下次 reboot 仍无效
真正卡住人的从来不是“怎么装”,而是“装完发现改不了配置、起不来服务、连不上客户端”。supervised systemd 和 PREFIX 这两个点,90% 的线上故障都源于忽略它们。

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热门AI工具

更多
超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

SkildArt
SkildArt Hot

SkildArt是一款AI文本写作工具,一站式 AI 视觉创作平台。

Loomy
Loomy Hot

一款AI工具,主要用于科大讯飞发布的桌面级 AI 助理,比 OpenClaw 更易用、更安全!,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

蛙蛙写作

一款AI论文写作工具,主要用于超级AI智能写作助手,适合需要提升相关任务效率的用户。

相关专题

更多
硬盘接口类型介绍
硬盘接口类型介绍

硬盘接口类型有IDE、SATA、SCSI、Fibre Channel、USB、eSATA、mSATA、PCIe等等。详细介绍:1、IDE接口是一种并行接口,主要用于连接硬盘和光驱等设备,它主要有两种类型:ATA和ATAPI,IDE接口已经逐渐被SATA接口;2、SATA接口是一种串行接口,相较于IDE接口,它具有更高的传输速度、更低的功耗和更小的体积;3、SCSI接口等等。

3088

2023.10.19

PHP接口编写教程
PHP接口编写教程

本专题整合了PHP接口编写教程,阅读专题下面的文章了解更多详细内容。

4569

2025.10.17

php8.4实现接口限流的教程
php8.4实现接口限流的教程

PHP8.4本身不内置限流功能,需借助Redis(令牌桶)或Swoole(漏桶)实现;文件锁因I/O瓶颈、无跨机共享、秒级精度等缺陷不适用高并发场景。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3729

2025.12.29

java接口相关教程
java接口相关教程

本专题整合了java接口相关内容,阅读专题下面的文章了解更多详细内容。

426

2026.01.19

常用的数据库软件
常用的数据库软件

常用的数据库软件有MySQL、Oracle、SQL Server、PostgreSQL、MongoDB、Redis、Cassandra、Hadoop、Spark和Amazon DynamoDB。更多关于数据库软件的内容详情请看本专题下面的文章。php中文网欢迎大家前来学习。

4329

2023.11.02

内存数据库有哪些
内存数据库有哪些

内存数据库有Redis、Memcached、Apache Ignite、VoltDB、TimesTen、H2 Database、Aerospike、Oracle TimesTen In-Memory Database、SAP HANA和ache Cassandra。更多关于内存数据库相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

3835

2023.11.14

mongodb和redis哪个读取速度快
mongodb和redis哪个读取速度快

redis 的读取速度比 mongodb 更快。原因包括:1. redis 使用简单的键值存储,而 mongodb 存储 json 格式的数据,需要解析和反序列化。2. redis 使用哈希表快速查找数据,而 mongodb 使用 b-tree 索引。因此,redis 在需要高性能读取操作的应用程序中是一个更好的选择。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

6972

2024.04.02

redis怎么做缓存服务器
redis怎么做缓存服务器

redis 作为缓存服务器的答案:redis 是一款开源、高性能、分布式的键值存储,可作为缓存服务器使用。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

623

2024.04.07

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

0

2026.10.08

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
热门推荐
/
最新课程
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn