web-dev-qa-db-fra.com

Impossible de se connecter à Redis à 127.0.0.1:6379: Connexion refusée avec homebrew

Utilisation de homebrew pour installer Redis, mais lorsque j'essaie d'envoyer une requête ping à Redis, cette erreur est indiquée.

Could not connect to Redis at 127.0.0.1:6379: Connection refused

Remarque: J'essaie de désactiver le pare-feu et je ne peux pas modifier le fichier de configuration. 

59
bufei

Après avoir installé redis, tapez from terminal:

redis-server

Et Redis-Server sera démarré

153
LuFFy

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 l'état de votre machine ou de votre installation, il vous manque probablement un fichier de configuration ou un répertoire pour les paramètres par défaut de Redis.

  1. Vous avez besoin d'un fichier de configuration à /usr/local/etc/redis.conf. Sans ce fichier, redis-server ne démarrera pas. Vous pouvez copier sur le fichier de configuration par défaut et le modifier à partir de là avec

    cp /usr/local/etc/redis.conf.default /usr/local/etc/redis.conf
    
  2. Vous avez besoin de /usr/local/var/db/redis/ pour exister. Vous pouvez le faire facilement avec

    mkdir -p /usr/local/var/db/redis
    

Enfin, redémarrez 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 de Homebrew et sur quel port il était. Les services étaient trompeurs car, même si redis-server n'avait pas encore démarré, brew services list indiquait toujours que redis était "démarré". La meilleure approche consiste à utiliser brew services --verbose start redis qui vous indiquera que le fichier journal est à /usr/local/var/log/redis.log. En regardant là-bas, j'ai trouvé le pistolet fumant

Fatal error, can't open config file '/usr/local/etc/redis.conf'

ou

Can't chdir to '/usr/local/var/db/redis/': No such file or directory

Heureusement, le journal a rendu la solution ci-dessus évidente.

Je ne peux pas simplement lancer redis-server?

Vous pouvez bien sûr. Si vous utilisez redis-server &, il vous suffit de prendre un terminal ou d’interrompre votre terminal de temps en temps. En outre, il mettra dump.rdb dans le répertoire dans lequel vous l'exécutez (pwd). Je me suis énervé de devoir supprimer le fichier ou de l'ignorer dans git. J'ai donc pensé que je laisserais brasser le travail avec les services.

19
Aaron

Si, après l’installation, vous devez exécuter redis sur tous les temps, il suffit de taper dans le terminal:

redis-server &

Lancer redis en utilisant upstart sur Ubuntu

J'ai essayé de comprendre comment installer des systèmes à partir de zéro sur Ubuntu. Je viens d'installer redis sur la boîte et voici comment je l'ai fait et quelles sont les choses à surveiller.

À installer:

Sudo apt-get install redis-server

Cela créera un utilisateur redis et installera le script init.d pour celui-ci. Puisque upstart est maintenant le remplacement pour utiliser init.d, je suppose que je devrais le convertir pour qu'il fonctionne avec upstart.

Pour désactiver le script init.d par défaut pour redis:

Sudo update-rc.d redis-server disable

Créez ensuite /etc/init/redis-server.conf avec le script suivant:

description "redis server"

start on runlevel [23]
stop on shutdown

exec Sudo -u redis /usr/bin/redis-server /etc/redis/redis.conf

respawn

Il s’agit du script permettant à upstart de savoir quelle commande à exécuter pour lancer le processus. La dernière ligne indique également à upstart de continuer à essayer de réapparaître si elle meurt.

Une chose que je devais changer dans /etc/redis/redis.conf est de changer daemonize yes en daemonize no. Que se passe-t-il si vous ne le changez pas, c'est que redis-server se bombardera et se démonisera lui-même, et le processus parent disparaîtra Lorsque cela se produit, upstart pense que le processus est mort/arrêté et que vous ne pourrez plus contrôler le processus depuis upstart.

Vous pouvez maintenant utiliser les commandes suivantes pour contrôler votre redis-server:

Sudo start redis-server
Sudo restart redis-server
Sudo stop redis-server

J'espère que cela a été utile!

4
mySun

C'est le meilleur moyen de se connecter à votre compte Redis.

Dans un premier temps, vérifiez l'adresse IP du serveur Redis comme ceci.

ps -ef | grep redis

Le résultat est une sorte de "redis 1184 1 0 ..../usr/bin/redis-server 172.x.x.x: 6379

Et puis vous pouvez vous connecter à redis avec l'option -h (nom d'hôte) comme celle-ci.

redis-cli -h 172.x.x.x

1
user4675117

Dans mon cas, c’était le mot de passe qui contenait des caractères tels que ', après modification, le serveur a démarré sans problème.

1
Talu

Si ce problème existait avec homebrew MacOS, le problème était une sorte de permission manquante dans le répertoire /usr/local/var/logvoir la question ici

Afin de le résoudre, j'ai supprimé le /usr/local/var/log et réinstaller Redis brew reinstall redis

0
zetacu

Je viens d'avoir 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 empêchait évidemment Redis d’analyser le fichier de configuration, ce qui m’empêchait à mon tour de me connecter via la cli. Corriger cette syntaxe m'a permis de me connecter à Redis.

0
duhaime

Vous devez d’abord monter/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 devez avoir 6 nœuds, 3 seront maîtres et 3 seront maîtres. be slave.redis-cli sélectionnera automatiquement maître et esclave sur 6 nœuds à l’aide de la commande --cluster, comme indiqué dans les commandes ci-dessous.

[xxxxx@localhost redis-stable]$ redis-server xxxx.conf 

puis courir 

[xxxxx@localhost redis-stable]$ redis-cli --cluster create 127.0.0.1:7000 127.0.0.1:7001 127.0.0.1:7002 127.0.0.1:7003 127.0.0.1:7004 127.0.0.1:7005 --cluster-replicas 1

la sortie ci-dessus devrait ressembler à:

    >>> Performing hash slots allocation on 6 nodes...

2ème façon de tout configurer automatiquement: vous pouvez utiliser les scripts utils/create-cluster pour tout configurer pour vous, comme par exemple démarrer tous les nœuds, créer un clustervous suivre https://redis.io/topics/cluster-tutorial

Merci

0
Sanjay