redis从6.2.x版本升级到8.8.1 1.背景出于安全考虑部署于麒麟操作系统上的redis必须要升级到8.8.0的版本。操作系统版本原来的redis版本2.升级过程遇到了问题过程中通过AI搜索了资料尝试了好几个方案问题终于搞定了redis只是临时做缓存用不用迁移数据所以应该干脆安装一个8.8.1的redis就行端口不变就不用改应用服务系统的redis配置。第一步下载并编译Redis 8.8.0源码 下载源码从Redis官方或国内镜像站如华为云下载8.8.0的源码包。 bash cd /tmp wget https://download.redis.io/releases/redis-8.8.0.tar.gz # 或使用华为云镜像加速 # wget https://mirrors.huaweicloud.com/redis/redis-8.8.0.tar.gz tar -zxvf redis-8.8.0.tar.gz cd redis-8.8.0 第二步编译安装 bash # 清理之前可能存在的编译残留 make distclean # 编译。可以指定安装路径方便管理例如安装在 /usr/local/redis make PREFIX/usr/local/redis install从日志来看有两个核心问题 Redis 编译时没有包含 systemd 支持systemd supervision requested or detected, but Redis is compiled without libsystemd support! PID 文件写入失败Failed to write PID file: Read-only file system 解决方案 第一步重新编译 Redis加入 systemd 支持 因为之前编译时没有链接 libsystemd所以 --supervised systemd 无法工作。需要重新编译 bash cd /tmp/redis-8.8.1 # 清理之前的编译产物 make distclean # 安装 systemd 开发库如果还没装 sudo yum install -y systemd-devel # 重新编译指定 systemd 支持 make USE_SYSTEMDyes # 安装 sudo make PREFIX/usr/local/redis install 第二步修改服务文件使用 Typesimple 既然 Redis 没有 systemd 支持就不能用 Typenotify。改回 Typesimple bash vi /etc/systemd/system/redis.service 内容改为 ini [Unit] DescriptionRedis In-Memory Data Store Afternetwork.target [Service] Typesimple Userroot Grouproot ExecStart/usr/local/redis/bin/redis-server /data/redis-6.2.9/redis.conf ExecStop/usr/local/redis/bin/redis-cli shutdown Restarton-failure RestartSec5 LimitNOFILE65535 [Install] WantedBymulti-user.target 关键点 去掉 --supervised systemd 参数因为编译时没加 systemd 支持 Typesimple 而不是 notify 第三步解决 PID 文件写入失败问题 日志显示 Failed to write PID file: Read-only file system说明 PID 文件目录是只读的。检查并修复 查看配置文件中的 PID 路径 bash grep -i pidfile /data/redis-6.2.9/redis.conf 通常会是 pidfile /var/run/redis_6379.pid 或类似路径。 检查该目录是否存在且可写 bash # 查看 /var/run 是否可写 ls -ld /var/run # 如果是只读可以换个目录比如 /tmp # 修改 redis.conf pidfile /tmp/redis_6379.pid 或者直接注释掉 pidfile 配置因为 systemd 管理时不需要 PID 文件 在 redis.conf 中找到 pidfile 行在前面加 # 注释掉 conf # pidfile /var/run/redis_6379.pid 第四步处理 IPv6 绑定警告非致命 日志中还有 listening socket ::1:6379: bind: Cannot assign requested address这是因为系统没有启用 IPv6但配置里绑定了 ::1。 在 redis.conf 中将 bind 改为只绑定 IPv4 conf bind 127.0.0.1 # 如果有外网需求可以加上内网IP例如 # bind 127.0.0.1 192.168.1.100 第五步重载并启动 bash # 重新加载 systemd 配置 systemctl daemon-reload # 重置失败状态 systemctl reset-failed redis.service # 启动 systemctl start redis.service # 查看状态 systemctl status redis.service启动成功了

相关新闻

最新新闻

报表分析师转大模型:权限日志比 Prompt 更重要?

报表分析师转大模型:权限日志比 Prompt 更重要?

聊《别急着换赛道:数据分析经验在 AI 项目里到底值多少?》之前,先说一句实在的:别急着背概念,先看它在真实项目里到底解决什么问题。摘要摘要:从写 SQL 到写 Agent,我踩过 Demo 能跑、上线就崩的…

2026/7/31 5:27:23
CSDN博客-第三篇-Linux基础Day3-草稿

CSDN博客-第三篇-Linux基础Day3-草稿

Linux 基础 Day3:文件操作 文件查看 文件搜索(grep) 系列:粤嵌嵌入式培训学习笔记 (第 3 篇) 上一篇:Linux 基础 Day2:终端快捷键 文件系统 路径 文件类型 目录操作 下一篇:内容预告待定 …

2026/7/31 5:27:23
IOS苹果手机传输照片到PC,LANTransfer 局域网聊天文件传输工具软件

IOS苹果手机传输照片到PC,LANTransfer 局域网聊天文件传输工具软件

LANTransfer 局域网聊天文件传输工具软件,可实现IOS苹果手机批量传输照片到PC,支持多选,滑动多选,拖拽文件发送。无广告无毒页面干净。跨设备文件传输需求日益增长的今天,局域网传输工具因其高速、私密、无需互联网的特…

2026/7/31 5:27:23
Hermes-agent | 第十四篇:子 Agent 委派与 Kanban 持久协作

Hermes-agent | 第十四篇:子 Agent 委派与 Kanban 持久协作

本文是 Hermes Agent 系列的第 14 篇。上一篇解释了 CLI、TUI、Web 与 Desktop 如何复用同一个 Agent Core,这一篇继续进入复杂任务编排:当一个任务无法在单条推理链中高效完成时,Hermes Agent 如何使用子 Agent 进行即时并行委派,并通过 Kanban 将跨时间、跨 Profile 的工…

2026/7/31 5:27:23
高压FOC电机控制:从原理到实践,实现极致静音与高效驱动

高压FOC电机控制:从原理到实践,实现极致静音与高效驱动

1. 项目缘起:从“嗡嗡”声到“静音”的执念几年前,我接手了一个智能家居的项目,核心是一个需要安静运行的空气净化器风扇。当时市面上主流方案还是方波驱动,电机一转起来,那种“嗡嗡”的电磁噪音在夜深人静时格外刺耳&…

2026/7/31 5:27:23
小熊猫C++免安装版:打造便携式现代C++开发环境

小熊猫C++免安装版:打造便携式现代C++开发环境

1. 项目概述:为什么我们需要一个“升级版”的Dev-C?如果你是从十几年前就开始接触C/C编程的老手,或者是在大学里刚刚入门的新人,那么“Dev-C”这个名字对你来说一定不陌生。它曾经是无数人学习C语言的第一款IDE,轻量、…

2026/7/31 5:22:23

月新闻