init 스크립트를 통해 redis 서버를 종료 할 수 없습니다. 이것은 sudo reboot
일 때 거대한 부작용 내 컴퓨터 걸기. canonical guide를 사용하여Redis에 연결할 수 없습니다. 127.0.0.1:0 : 연결이 거부되었습니다 (init 스크립트를 사용하여 유닉스 서버가있는 redis 서버를 종료 할 때)
I 새로 설치된 레디 스는, 유닉스 소켓 연결을 허용하도록 구성하고, 내가 이전에 저장 한 .rdb 덤프를 복원 할 수 있도록 지금 정지 서버를 시도하고있다.
는하지만 다음 점점 계속 :
이Could not connect to Redis at 127.0.0.1:0: Connection refused
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
내가 사용 명령은 sudo /etc/init.d/redis-server stop
입니다. redis-cli -s /var/run/redis.sock
에 연결 한 후에도 shutdown
을 발행 할 수는 있지만 작동하려면 init 스크립트가 필요합니다.
왜 다시 부팅되지 않겠습니까?이 상황을 어떻게 해결할 수 있습니까? 버전은 내가 자연스럽게 unixsocket /var/run/redis.sock
및 unixsocketperm 755
alongwith, 설정 파일에 port 0
을 설정 한 Redis server v=4.0.2 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=8ddba2e6a24ce078
입니다.
또한, 스크립트 파일의 내용은 다음과 같습니다
!/bin/sh
#
# Simple Redis init.d script conceived to work on Linux systems
# as it does use of the /proc filesystem.
REDISPORT=0
EXEC=/usr/local/bin/redis-server
CLIEXEC=/usr/local/bin/redis-cli
PIDFILE=/var/run/redis.pid
CONF="/etc/redis/redis.conf"
case "$1" in
start)
if [ -f $PIDFILE ]
then
echo "$PIDFILE exists, process is already running or crashed"
else
echo "Starting Redis server..."
$EXEC $CONF
fi
;;
stop)
if [ ! -f $PIDFILE ]
then
echo "$PIDFILE does not exist, process is not running"
else
PID=$(cat $PIDFILE)
echo "Stopping ..."
$CLIEXEC -p $REDISPORT shutdown
while [ -x /proc/${PID} ]
do
echo "Waiting for Redis to shutdown ..."
sleep 1
done
echo "Redis stopped"
fi
;;
*)
echo "Please use start or stop as first argument"
;;
esac
참고 REDISPORT=0
, 그것이 있어야한다. 현재 Redis 서버 중지 및 시작은 실제로 지원되지 않습니다.
사용중인 암호 인증을? 그렇다면이 PR이 빛을 발산합니다. https://github.com/antirez/redis/pull/2069 –