Windows下Redis服务启动失败的一种情况
Abstract: 使用 Redis 时遇到的一个问题
问题复现
完成 redis.windows-service.conf 的配置后,尝试安装和启动 redis 服务,遇到错误
注:此时配置文件中的 logfile 为 Redis 安装目录外的文件路径
1 | >redis-server --service-install redis.windows-service.conf |
查看日志,没有帮助性的信息
1 | [26292] 17 Jan 22:59:41.266 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "*****" "******" |
多次尝试后发现,当注释掉配置文件中 logfile 的一行时,服务正常启动
1 | >redis-server --service-start |
当把 logfile 的参数设置为 Redis 的安装路径时,服务也正常启动
解决方法
多次排查后,确定问题在日志文件的权限上。那么添加权限即可
右键日志文件 > 选择 属性 > 选择 安全 > 点击 编辑 > 点击 添加 > 输入NETWORK SERVICE > 检查名称 > 确定 > 完全控制 打勾✓ > 确定 > 确定
注:NETWORK SERVICE是隐性的用户。另外,查找 NT AUTHORITY\NetworkService 是不行的。
附上 redis 服务启动和停止的 bat 脚本
1 | @echo off |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来源 Aoki-kelley の 小屋!
评论