首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >无法使用修改的配置启动Redis (/var => /home/redis)

无法使用修改的配置启动Redis (/var => /home/redis)
EN

Stack Overflow用户
提问于 2017-09-21 19:01:30
回答 1查看 1.1K关注 0票数 1

当尝试在Ubuntu16.04上启动Redis3.2时,我遇到了一个问题。/etc/redis/redis.conf的变化如下:

代码语言:javascript
复制
#logfile /var/log/redis/redis-server.log
logfile /home/redis/logs/redis-server.log
...
#dir /var/lib/redis
dir /home/redis/data

这是journalctl -xe的输出

代码语言:javascript
复制
run-parts[5853]: run-parts: executing /etc/redis/redis-server.pre-up.d/00_exampl
redis-server[5857]: *** FATAL CONFIG FILE ERROR ***
redis-server[5857]: Reading the configuration file, at line 163
redis-server[5857]: >>> 'logfile /home/redis/logs/redis-server.log'
redis-server[5857]: Can't open the log file: Permission denied
systemd[1]: redis-server.service: Control process exited, code=exited status=1
systemd[1]: Failed to start Advanced key-value store.

如您所见,启动似乎无法在/home/redis目录下执行任何操作,而它是由redis用户和组(chown -R redis:redis /home/redis应用程序)拥有的。

脚注

  • 此配置用于Debian Wheezy/Jessie和Ubuntu 14.04上。
  • Redis从默认配置开始。
  • touchchmod日志文件没有修复
  • 还测试了Redis 4(通过)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-09-22 11:12:22

正如注释中的@h0x91B所解释的那样,您可以启用selinux并查看它是否有效。

尽管如此,如果您不想使用selinux,这里有一个解决办法:

  1. 编辑Redis systemd服务文件/etc/systemd/system/redis.service,设置ProtectHome=no和添加ReadWriteDirectories=-/home/redis
  2. sudo systemctl daemon-reload重装系统
  3. 启动Redis sudo service redis-server start

参考资料

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46351375

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档