【发布时间】:2014-10-20 07:55:54
【问题描述】:
Redis 启动脚本应该在启动时创建一个 pid 文件,但我已经确认了我能找到的所有设置,并且没有创建任何 pid 文件。
我通过以下方式安装redis:
$ yum install redis
$ chkconfig redis on
$ service redis start
在我的配置文件 (/etc/redis.conf) 中,我检查以确保这些已启用:
daemonize yes
pidfile /var/run/redis/redis.pid
并且在启动脚本(/etc/init.d/redis)中有:
exec="/usr/sbin/$name"
pidfile="/var/run/redis/redis.pid"
REDIS_CONFIG="/etc/redis.conf"
[ -e /etc/sysconfig/redis ] && . /etc/sysconfig/redis
lockfile=/var/lock/subsys/redis
start() {
[ -f $REDIS_CONFIG ] || exit 6
[ -x $exec ] || exit 5
echo -n $"Starting $name: "
daemon --user ${REDIS_USER-redis} "$exec $REDIS_CONFIG"
retval=$?
echo
[ $retval -eq 0 ] && touch $lockfile
return $retval
}
stop() {
echo -n $"Stopping $name: "
killproc -p $pidfile $name
retval=$?
echo
[ $retval -eq 0 ] && rm -f $lockfile
return $retval
}
这些是安装时默认附带的设置。知道为什么没有创建 pid 文件吗?我需要将它用于Monit。 (系统是 RHEL 6.4 btw)
【问题讨论】:
-
redis启动是否正确?哪个用户用来启动redis?它是否有足够的权限来写入 PID 文件?你在redis日志中有什么吗?您正在使用 rhel 提供的 shell 脚本。您是否尝试在没有此脚本的情况下启动 redis 以查看它是否可以在没有脚本的情况下工作?
-
@zenbeni,是的,Redis 启动并正常运行,并且在 UID:redis 下运行。不过,似乎没有在那里创建文件的权限。我会尝试设置它