无法将Redis作为服务启动

时间:2018-08-08 09:53:53

标签: redis centos

我们正在Azure上进行大型服务器迁移,我想在新服务器上重新安装我们的Redis版本以进行匹配。 2个环境,预生产和生产。对于正式版安装,没问题,但是使用相同的安装脚本,我无法在Preproduction服务器上将Redis作为服务启动。

这是我使用的脚本:

wget http://cbs.centos.org/kojifiles/packages/redis/2.8.19/2.el7/x86_64/redis-2.8.19-2.el7.x86_64.rpm

yum localinstall -y redis-2.8.19-2.el7.x86_64.rpm
mkdir -p /data/redis/db /data/redis/logs
chown -R redis:redis /data/redis
mv /etc/redis.conf /etc/redis.conf.origin
chown redis:redis /etc/redis.conf

在那之后,我尝试启动服务,这是我在journalctl中遇到的错误:

Aug 08 11:49:20 #new_server# redis-server[25441]: *** FATAL CONFIG FILE ERROR ***
Aug 08 11:49:20 #new_server# redis-server[25441]: Reading the configuration file, at line 7
Aug 08 11:49:20 #new_server# redis-server[25441]: >>> 'logfile /data/redis/logs/redis.log'
Aug 08 11:49:20 #new_server# redis-server[25441]: Can't open the log file: Permission denied
Aug 08 11:49:20 #new_server# systemd[1]: redis.service: main process exited, code=exited, status=1/FAILURE

我还尝试授予对/ data / redis /(chmod -R 777)文件夹的所有访问权限,但在journalctl中出现相同的错误。

我也进行了常规更新(不包括redis软件包),但是没有任何变化。

我不知道该怎么办。

CentOS版本:CentOS Linux版本7.5.1804(核心) Azure VM大小:标准A2 v2(2 vcpus,4 GB内存)

  

更新

好吧,我刚刚发现,如果我将VM大小更改为 Standard A4m v2(4 vcpus,32 GB内存),启动就可以正确启动。 我不知道导致服务正确启动的VM的大小或重新启动。

我将在第二台服务器(具有新的VM大小)上对其进行测试,以查看是否是导致该大小的大小或重新启动。

  

更新

好吧,再次安装之后,我现在知道它来自重新启动。重新启动后,Redis服务可正确启动。 我也不知道为什么。

1 个答案:

答案 0 :(得分:0)

您似乎没有标准的日志文件目录:应该为/var/log/redis/

对我来说,问题在于ProtectHome设置为yes,导致/home/log/redis/中的日志文件无法正常工作。

因此,问题出在systemd配置文件中,因为默认值对系统有很大的保护作用(很好,但是调试起来很困难!)。