LOADING

加载过慢请开启缓存 浏览器默认开启

Windows下Redis服务启动失败的一种情况

2023/1/17 Redis

Abstract: 使用 Redis 时遇到的一个问题


目录:


问题复现

完成 redis.windows-service.conf 的配置后,尝试安装和启动 redis 服务,遇到错误

注:此时配置文件中的 logfile 为 Redis 安装目录外的文件路径

>redis-server --service-install redis.windows-service.conf

>redis-server --service-start
[34496] 17 Jan 22:59:55.442 # Redis service failed to start.

查看日志,没有帮助性的信息

[26292] 17 Jan 22:59:41.266 # Granting read/write access to 'NT AUTHORITY\NetworkService' on: "*****" "******" 
[26292] 17 Jan 22:59:41.267 # Redis successfully installed as a service.

多次尝试后发现,当注释掉配置文件中 logfile 的一行时,服务正常启动

>redis-server --service-start
[11916] 17 Jan 22:59:05.428 # Redis service successfully started.

当把 logfile 的参数设置为 Redis 的安装路径时,服务也正常启动

解决方法

多次排查后,确定问题在日志文件的权限上。那么添加权限即可

右键日志文件 > 选择 属性 > 选择 安全 > 点击 编辑 > 点击 添加 > 输入NETWORK SERVICE > 检查名称 > 确定 > 完全控制 打勾✓ > 确定 > 确定

注:NETWORK SERVICE是隐性的用户。另外,查找 NT AUTHORITY\NetworkService 是不行的。

附上 redis 服务启动和停止的 bat 脚本

@echo off

if "%1" == "start" ( redis-server --service-start ) else ( if "%1" == "stop" ( redis-server --service-stop ) else ( echo wrong argument "%1"! ) )