我们正在Azure上做一个大的服务器迁移,我想在新服务器上重新安装Redis版本来匹配。2环境、预生产和生产。对于生产安装,没有问题,但使用相同的安装脚本,我不能启动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在此之后,我尝试启动服务,以下是日志中出现的错误:
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),但在日志中也有相同的错误。
我也做了一个一般性的更新(不包括红色包),但没有任何变化。
我不知道该怎么办才能解决这个问题。
CentOS版本: CentOS Linux版本7.5.1804 (核心) Azure大小:标准A2 v2 (2 vcpus,4 GB内存)
更新
好的,我刚刚发现,如果我将VM大小更改为一个标准A4m v2 (4vcpus,32 GB内存),那么启动就正确了。我不知道导致服务正确启动的是VM的大小还是重新启动。
我将把它测试到第二台服务器(使用新的VM大小),看看是大小还是重启导致了这一点。
更新
好的,在另一次安装之后,我知道它来自重新启动。重新启动后,Redis服务正确启动。但我不知道为什么。
发布于 2019-09-02 17:32:43
您似乎没有标准的日志文件目录:应该是/var/log/redis/。
对我来说,问题是ProtectHome被设置为yes,从而阻止了/home/log/redis/中的日志文件工作。
所以问题在systemd配置文件中,因为默认保护系统很多(这很好,但是调试非常困难!)
https://stackoverflow.com/questions/51743724
复制相似问题