Redis与Nacos统一服务化管理指南 Redis 实现开机自启的核心思路WinSW 服务化步骤如下一、Redis WinSW 服务化1.前提准备 WinSW 官方下载链接已下载 WinSW如WinSW.NET4.exe并重命名为redis-service.exe放到 Redis 安装目录如D:\redis同目录下创建redis-service.xml配置文件。步骤 1编写 WinSW 配置文件redis-service.xmlservice !-- 基础信息 -- idredis/id nameRedis Service (with Persistence)/name descriptionRedis 缓存服务已开启 AOF 持久化支持开机自启/description !-- ⭐ 关键Redis 服务端程序的绝对路径 -- executableD:\redis\redis-server.exe/executable !-- ⭐ 关键必须指定你的配置文件否则 Redis 会使用默认配置导致持久化失效 -- argumentsD:\redis\redis.windows.conf/arguments !-- ⭐ 关键工作目录必须是 redis.windows.conf 中 dir 指定的路径 -- workingdirectoryD:\redis/workingdirectory !-- 日志配置建议分开便于排查 -- logpathD:\redis\logs/logpath logmoderoll/logmode !-- 失败重启策略 -- onfailure actionrestart delay10 sec/ startmodeAutomatic/startmode !-- WinSW 自动帮忙管理日志 -- log moderoll-by-size sizeThreshold10240/sizeThreshold keepFiles5/keepFiles /log /service替换D:\redis为你的实际 Redis 安装目录确保redis.windows.conf已配置持久化参考方案 1 的配置。步骤 2安装并启动服务管理员 CMDcd D:\redis # 切换到 Redis 安装目录 redis-service.exe install # 安装服务 redis-service.exe start # 启动服务 redis-service.exe stop # 停止服务 redis-service.exe uninstall # 删除卸载服务步骤 3设置开机自启打开services.msc找到「Redis Service」右键 → 「属性」→ 「启动类型」改为「自动」即可实现开机自启。2.常见问题排查服务安装失败 / 启动失败端口被占用用netstat -ano | findstr 6379查看占用端口的进程结束后重试配置文件错误检查redis.windows.conf是否有语法错误如多余的空格、注释符号错误权限不足必须以管理员身份运行 CMD。启动后连接不上 Redis密码问题若配置文件设了requirepass连接时必须带密码redis-cli -a 密码防火墙拦截放行 Redis 端口6379或关闭本地防火墙测试配置文件路径错误WinSW 配置中arguments必须写redis.windows.conf的绝对路径。开机自启后数据丢失未开启持久化检查redis.windows.conf中appendonly yes或dbfilename dump.rdb是否配置工作目录错误WinSW 未配置workingdirectory导致 Redis 持久化文件存到C:\Windows\System32重启后找不到。3.总结核心注意点必须配置redis.windows.conf的持久化避免开机自启后数据丢失服务启动类型务必设为「自动」。二、配置 Nacos 为 Windows 服务接下来就是将WinSW.NET4.exe和配置文件放置到正确位置并编辑。重命名并放入目录将下载的WinSW.NET4.exe文件重命名为nacos-2.2.3-service.exe服务名可自由定义并将其放入 Nacos 的bin目录中。创建并编辑配置文件在 Nacos 的bin目录下新建一个与可执行文件同名的 XML 文件即nacos-2.2.3-service.xml。将以下内容复制进去并将executable和stopexecutable里的路径以及logpath路径修改为你自己的 Nacos 安装路径service !-- 唯一服务ID -- idnacos-2.2.3/id !-- 显示服务的名称 -- nameNacos Service (v2.2.3)/name !-- 服务描述 -- descriptionNacos 2.2.3 - 端口 8848/description !-- 设置 JAVA_HOME 环境变量 -- env nameJAVA_HOME valueD:\Java\jdk1.8.0_202 / !-- 可选将 JDK 的 bin 目录加入 PATH确保 java 命令可用 -- env namePATH value%JAVA_HOME%\bin;%PATH% / !-- 启动命令指向nacos的启动脚本单机模式 -- executableC:\nacos\bin\startup.cmd/executable !-- 启动参数-m standalone表示以单机模式启动 -- arguments-m standalone/arguments !-- 停止命令指向nacos的停止脚本 -- stopexecutableC:\nacos\bin\shutdown.cmd/stopexecutable !-- 工作目录指定为nacos的根目录有助于解决路径问题 -- workingdirectoryC:\nacos/workingdirectory !-- 日志路径 -- logpathC:\nacos\logs/logpath !-- 日志模式每天滚动 -- logmoderoll/logmode !-- 服务失败后自动重启 -- onfailure actionrestart delay10 sec/ !-- 启动模式自动开机自启 -- startmodeAutomatic/startmode /service 安装与启动服务配置完成后用管理员权限打开命令提示符CMD即可进行服务注册。安装服务进入 Nacos 的bin目录执行nacos-2.2.3-service.exe install。启动服务执行net start nacos-2.2.3nacos-2.2.3是你在XML中配置的服务ID。验证服务在浏览器访问http://localhost:8848/nacos。如果一切顺利你会看到 Nacos 的控制台登录页面输入默认用户名和密码nacos即可登录。至此Nacos 服务配置成功。️ 服务管理命令日常管理中可以使用以下命令来操控 Nacos 服务操作命令说明启动服务net start nacos-2.2.3启动Windows服务停止服务net stop nacos-2.2.3停止Windows服务卸载服务nacos-2.2.3-service.exe uninstall从Windows服务列表中移除注如果遇到权限问题请确保是以管理员身份运行 CMD。 常见问题排查服务启动失败如错误1053原因Java 环境变量未配置或服务未能正确找到启动脚本。解决确保系统已正确配置JAVA_HOME环境变量。另外你也可以尝试在XML的service部分添加env nameJAVA_HOME valueC:\Program Files\Java\jdk1.8.0_202/明确告诉服务Java的安装路径。服务启动成功但无法访问如8848端口原因Nacos 可能以集群模式启动但未配置或启动脚本中未指定单机模式。解决检查startup.cmd启动脚本确认其中set MODEcluster是否为standalone。或在 XML 中已通过arguments-m standalone/arguments参数指定可以检查一下拼写是否正确。