En utilisant homebrew pour installer Redis, mais lorsque j'essaie d'envoyer un ping à Redis, il affiche cette erreur:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Remarque: j'ai essayé de désactiver le pare-feu et de modifier le fichier de configuration, mais je ne peux toujours pas cingler. J'utilise macOS Sierra et homebrew version 1.1.11
redis
redis-server
Bufei
la source
la source
cd C:\Program Files\Redis
puisredis-server
J'ai trouvé cette question en essayant de comprendre pourquoi je ne pouvais pas me connecter à redis après l'avoir démarré via
brew services start redis
.tl; dr
Selon la fraîcheur de votre machine ou de l'installation, il vous manque probablement un fichier de configuration ou un répertoire pour les valeurs par défaut de Redis.
Vous avez besoin d'un fichier de configuration sur
/usr/local/etc/redis.conf
. Sans ce fichierredis-server
ne démarrera pas. Vous pouvez copier le fichier de configuration par défaut et le modifier à partir de là avecVous devez
/usr/local/var/db/redis/
exister. Vous pouvez le faire facilement avecEnfin, redémarrez simplement redis avec
brew services restart redis
.Comment trouvez-vous cela!?
J'ai perdu beaucoup de temps à essayer de déterminer si Redis n'utilisait pas les valeurs par défaut via homebrew et sur quel port il était. Les services étaient trompeurs, car même s'ils
redis-server
n'avaient pas réellement démarré,brew services list
ils afficheraient toujours les redis comme «démarrés». La meilleure approche consiste à utiliserbrew services --verbose start redis
ce qui vous montrera que le fichier journal se trouve à/usr/local/var/log/redis.log
. En regardant là-dedans, j'ai trouvé le (s) pistolet (s) fumantou
Heureusement, le journal a rendu la solution ci-dessus évidente.
Je ne peux pas simplement courir
redis-server
?Vous pouvez certainement. Cela prendra juste un terminal ou interrompra votre terminal de temps en temps si vous exécutez
redis-server &
. De plus, il placeradump.rdb
dans le répertoire dans lequel vous l'exécutez (pwd
). Je suis ennuyé de devoir supprimer le fichier ou de l'ignorer dans git, alors j'ai pensé que je laisserais brew faire le travail avec les services.la source
Si après l'installation, vous devez fonctionner
redis
à tout moment, tapez simplement le terminal:redis-server &
Exécuter Redis en utilisant Upstart sur Ubuntu
J'ai essayé de comprendre comment configurer les systèmes à partir de zéro sur Ubuntu. Je viens de l'installer
redis
sur la boîte et voici comment je l'ai fait et quelques points à surveiller.À installer:
Cela créera un
redis
utilisateur et installera leinit.d
script correspondant. Puisqueupstart
c'est maintenant le remplacement de l'utilisation de init.d, je pense que je devrais le convertir pour l'exécuter en utilisantupstart
.Pour désactiver le
init.d
script par défaut pourredis
:Créez ensuite
/etc/init/redis-server.conf
avec le script suivant:À quoi sert le script pour
upstart
savoir quelle commande exécuter pour démarrer le processus. La dernière ligne dit égalementupstart
de continuer à essayer de réapparaître s'il meurt.Une chose que j'ai dû changer
/etc/redis/redis.conf
estdaemonize yes
dedaemonize no
. Que se passe-t-il si vous ne le modifiez pas, alorsredis-server
se forkera et se démonisera, et le processus parent disparaîtra. Lorsque cela se produit,upstart
pense que le processus est mort / arrêté et que vous n'aurez pas le contrôle sur le processus de l'intérieurupstart
.Vous pouvez maintenant utiliser les commandes suivantes pour contrôler votre
redis-server
:J'espère que cela a été utile!
la source
C'est la meilleure façon de se connecter à votre redis.
Dans un premier temps, vérifiez l'adresse IP du serveur redis comme ceci.
Le résultat est une sorte de "redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379
Et puis vous pouvez vous connecter à redis avec l'option -h (nom d'hôte) comme ceci.
la source
Dans mon cas, c'était le mot de passe qui contenait des caractères comme
'
, après l'avoir changé, le serveur a démarré sans problème.la source
J'ai juste eu ce même problème parce que j'avais utilisé une syntaxe incorrecte dans mon fichier de configuration. Je voulais ajouter:
maxmemory-policy allkeys-lru
à mon fichier de configuration, mais seulement ajouté:
allkeys-lru
ce qui a évidemment empêché Redis d'analyser le fichier de configuration, ce qui m'a empêché de me connecter via le cli. La correction de cette syntaxe m'a permis de me connecter à Redis.
la source
Si ce problème avec
homebrew MacOS
le problème était une sorte d'autorisation manquante sur le/usr/local/var/log
répertoire, voir le problème iciAfin de le résoudre, j'ai supprimé
/usr/local/var/log
et réinstaller redisbrew reinstall redis
la source
Vous devez d'abord activer / démarrer tous les nœuds redis en utilisant la commande ci-dessous, un par un pour tous les fichiers de configuration. @Remarque: si vous configurez un cluster, vous devriez avoir 6 nœuds, 3 seront maîtres et 3 seront esclaves.redis-cli sélectionnera automatiquement le maître et l'esclave sur 6 nœuds en utilisant la commande --cluster comme indiqué dans mes commandes ci-dessous .
puis courir
la sortie de ci-dessus devrait être comme:
2ème façon de tout configurer automatiquement: vous pouvez utiliser des scripts utils / create-cluster pour tout configurer à votre place, comme démarrer tous les nœuds, créer un cluster que vous suivez https://redis.io/topics/cluster-tutorial
Merci
la source
Ce travail pour moi:
la source
Tout comme Aaron , dans mon cas, j'ai
brew services list
prétendu que Redis fonctionnait, mais ce n'était pas le cas. J'ai trouvé les informations suivantes dans mon fichier journal à l'adresse/usr/local/var/log/redis.log
:Cela s'avère être dû à la configuration suivante:
qui était nécessaire pour donner à ma machine virtuelle VMWare Fusion l'accès au serveur redis sur macOS, l'hôte. Cependant, si la machine virtuelle n'était pas démarrée, cet échec de liaison empêchait Redis de démarrer du tout . Le démarrage de la machine virtuelle a donc résolu le problème.
la source
Essaye ça :
la source