我已经在aws ubuntu服务器上成功运行了一个节点Web服务超过一个月,请求使用redis进行缓存。
昨天我开始从我的一些路线收到以下错误:
MISCONF Redis配置为保存RDB快照,但目前无法在磁盘上保留。可以修改可能修改数据集的命令。请检查Redis日志以获取有关错误的详细信息。
我能够通过使用:
来阻止错误发生config set stop-writes-on-bgsave-error no
在this question的答案中建议,但它实际上并没有解决潜在的问题。
为了找到根本问题,我检查了日志,发现以下内容已经开始:
[1105] 09 Aug 13:17:14.800 - 0 clients connected (0 slaves), 797680 bytes in use
[1105] 09 Aug 13:17:15.101 * 1 changes in 900 seconds. Saving...
[1105] 09 Aug 13:17:15.101 * Background saving started by pid 28090
[28090] 09 Aug 13:17:15.101 # Failed opening .rdb for saving: Permission denied
[1105] 09 Aug 13:17:15.201 # Background saving error
周末没有人使用过服务器,但在周末之前,日志很好,我们没有收到任何错误:
[12521] 06 Aug 04:49:27.308 - 0 clients connected (0 slaves), 803352 bytes in use
[12521] 06 Aug 04:49:29.012 * 1 changes in 900 seconds. Saving...
[12521] 06 Aug 04:49:29.012 * Background saving started by pid 26663
[26663] 06 Aug 04:49:29.014 * DB saved on disk
[26663] 06 Aug 04:49:29.014 * RDB: 2 MB of memory used by copy-on-write
[12521] 06 Aug 04:49:29.112 * Background saving terminated with success
正如我所说,在此期间没有人接触过这台服务器。
为了找到遇到同样问题的人,我找到了this question。我按照答案中的建议检查了目录和db文件的所有权和权限:
drwxr-xr-x 2 redis redis 26 Aug 6 06:55 redis
-rw-r--r-- 1 redis redis 18 Aug 6 06:55 dump-6379.rdb
权限和所有权对我来说都没问题,但我注意到文件和文件夹上的日期介于我上次看到服务正常工作和第一次失败时。不幸的是,这并没有真正帮助我做下一步该做什么,而且我有点不知所措。
我正在寻找有关找出问题原因的后续步骤的建议,或者至少是让redis能够再次写入的方法。