我安装了redis并将redis服务器放在/usr/local/bin:
-rwxr-xr-x 1 redis redis 11044232 Sep 24 00:30 redis-server
我在同一个文件夹/usr/local/bin中有redis.conf:
-rwxr-xr-x 1 redis redis 120 Oct 6 21:30 redis.conf
我在/etc/systemd/system创建了redis.service:
-rw-r--r-- 1 root root 192 Oct 6 21:46 redis.service
cat redis.conf:目录:
Description=Redis
After=network.target
[Service]
User=redis
Group=redis
Type=Simple
ExecStart=/usr/local/bin/redis-server /usr/local/bin/redis.conf
[Install]
WantedBy=multi-user.target
但当我跑的时候
sudo systemctl restart redis
sudo systemctl status redis
显示:无法打开仅附加的文件:权限被拒绝
如果我在redis.service中将服务单元中的用户和组更改为“root”,并重新启动redis服务器,则会成功启动。
我确实添加了用户redis:
sudo useradd --no-create-home --shell /bin/false redis
原因是什么?我想使用专用用户redis来启动服务器。
1条答案
按热度按时间g0czyy6m1#
原因
用户
redis
没有用户访问权限/usr/local/bin/appendonly.aof
因为它在里面/usr/local/bin
.默认情况下,redis工作目录是相对于
redis.conf
,由行设置:解决方案
要么改变
dir ./
在redis.conf
到可由redis
用户或者把
redis.conf
在可由redis
用户(只有可执行文件应该驻留在/usr/local/bin
(无论如何)