Je ne peux pas arrêter mon serveur redis via le script init. Cela a le énorme effet secondaire de l'accrochage de ma machine lorsque je fais sudo reboot
.Impossible de se connecter à Redis à 127.0.0.1:0: Connexion refusée (lors de l'utilisation du script init pour arrêter un serveur redis avec socket unix)
I Redis fraîchement installés à l'aide canonical guide, configurés pour accepter les connexions sur une socket unix, et je suis maintenant tenté de arrêt le serveur afin que je puisse restaurer une décharge .rdb précédemment enregistré.
Mais je continue à obtenir les éléments suivants:
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 ...
La commande J'utilise est sudo /etc/init.d/redis-server stop
. Notez que je peux toujours émettre shutdown
après m'être connecté à redis-cli -s /var/run/redis.sock
, mais j'ai besoin que le script init fonctionne. Pourquoi ne pas éteindre Redis, et comment puis-je résoudre cette situation? La version est Redis server v=4.0.2 sha=00000000:0 malloc=jemalloc-4.0.3 bits=64 build=8ddba2e6a24ce078
Je suis naturellement mis port 0
dans le fichier de configuration, alongwith unixsocket /var/run/redis.sock
et unixsocketperm 755
.
En outre, le contenu du fichier de script sont:
!/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
Remarque REDISPORT=0
, comme il devrait être. Actuellement, cela ne supporte pas vraiment l'arrêt et le démarrage du serveur redis.
Vous utilisez l'authentification par mot de passe? Si oui, ce PR peut faire la lumière: https://github.com/antirez/redis/pull/2069 –