Usando o homebrew para instalar o Redis, mas quando tento executar o ping no Redis, ele mostra este erro:
Could not connect to Redis at 127.0.0.1:6379: Connection refused
Nota: Tentei desligar o firewall e editar o arquivo conf, mas ainda não consigo ping. Estou usando o macOS Sierra e o homebrew versão 1.1.11
redis
redis-server
Bufei
fonte
fonte
cd C:\Program Files\Redis
e , em seguidaredis-server
Eu encontrei essa pergunta enquanto tentava descobrir por que não consegui me conectar ao redis após iniciá-lo via
brew services start redis
.tl; dr
Dependendo da atualização da sua máquina ou instalação, você provavelmente está perdendo um arquivo de configuração ou um diretório para os padrões do Redis.
Você precisa de um arquivo de configuração em
/usr/local/etc/redis.conf
. Sem este arquivoredis-server
não será iniciado. Você pode copiar o arquivo de configuração padrão e modificá-lo a partir dele comVocê precisa
/usr/local/var/db/redis/
existir. Você pode fazer isso facilmente comFinalmente, reinicie o redis com
brew services restart redis
.Como você descobriu isso !?
Perdi muito tempo tentando descobrir se o redis não estava usando os padrões por meio do homebrew e em qual porta ele estava. Os serviços eram enganosos porque, embora
redis-server
não tivessem sido realmente iniciados,brew services list
ainda mostrariam o redis como "iniciado". A melhor abordagem é usar obrew services --verbose start redis
que mostrará que o arquivo de log está em/usr/local/var/log/redis.log
. Olhando lá, encontrei a (s) arma (s) fumegante (s)ou
Felizmente, o log tornou a solução acima óbvia.
Não posso simplesmente correr
redis-server
?Com certeza você pode. Ele só vai ocupar um terminal ou interromper seu terminal ocasionalmente se você executar
redis-server &
. Também irá colocardump.rdb
em qualquer diretório em que você o executar, em (pwd
). Fiquei chateado por ter que remover o arquivo ou ignorá-lo no git, então decidi deixar o brew fazer o trabalho com os serviços.fonte
Se após a instalação você precisar rodar o
redis
tempo todo, basta digitar terminal:redis-server &
Executando redis usando upstart no Ubuntu
Tenho tentado entender como configurar sistemas desde o início no Ubuntu. Acabei de instalar
redis
na caixa e aqui está como fiz isso e algumas coisas para observar.Para instalar:
Isso criará um
redis
usuário e instalará oinit.d
script para ele. Comoupstart
agora é o substituto para o uso de init.d, acho que devo convertê-lo para executar usandoupstart
.Para desativar o
init.d
script padrão pararedis
:Em seguida, crie
/etc/init/redis-server.conf
com o seguinte script:Para que serve este script para
upstart
saber qual comando executar para iniciar o processo. A última linha também dizupstart
para continuar tentando reaparecer se ele morrer.Uma coisa que eu tive que mudar
/etc/redis/redis.conf
édaemonize yes
paradaemonize no
. O que acontecerá se você não mudar issoredis-server
irá bifurcar e daemonizar a si mesmo, e o processo pai irá embora. Quando isso acontece,upstart
pensa que o processo morreu / parou e você não terá controle sobre o processo por dentroupstart
.Agora você pode usar os seguintes comandos para controlar o seu
redis-server
:Espero que tenha sido útil!
fonte
É a melhor maneira de se conectar ao seu redis.
Em primeiro lugar, verifique o endereço IP do servidor redis como este.
O resultado é uma espécie de "redis 1184 1 0 .... / usr / bin / redis-server 172.xxx:6379
E então você pode se conectar ao redis com a opção -h (hostname) como esta.
fonte
No meu caso, era a senha que continha alguns caracteres como
'
, após alterá-la o servidor iniciou sem problemas.fonte
Eu simplesmente tive esse mesmo problema porque usei sintaxe inadequada no meu arquivo de configuração. Eu quis acrescentar:
maxmemory-policy allkeys-lru
ao meu arquivo de configuração, mas em vez disso, apenas adicionei:
allkeys-lru
o que evidentemente impediu o Redis de analisar o arquivo de configuração, o que por sua vez me impediu de conectar por meio do CLI. Corrigir essa sintaxe permitiu que eu me conectasse ao Redis.
fonte
Tive esse problema com
homebrew MacOS
o problema era algum tipo de permissão ausente no/usr/local/var/log
diretório, consulte o problema aquiPara resolver isso, apaguei
/usr/local/var/log
e reinstalei o redisbrew reinstall redis
fonte
Primeiro você precisa ligar / iniciar todos os nós do redis usando o comando abaixo, um por um para todos os arquivos conf. @Nota: se você está configurando o cluster, então você deve ter 6 nós, 3 serão mestre e 3 serão escravos. Redis-cli irá selecionar automaticamente mestre e escravo de 6 nós usando o comando --cluster como mostrado nos meus comandos abaixo .
então corra
a saída acima deve ser como:
2ª maneira de configurar todas as coisas automaticamente: você pode usar scripts utils / create-cluster para configurar tudo para você, como iniciar todos os nós, criar um cluster e seguir https://redis.io/topics/cluster-tutorial
obrigado
fonte
Este trabalho para mim:
fonte
Assim como Aaron , no meu caso
brew services list
alegou que o redis estava funcionando, mas não estava. Encontrei as seguintes informações em meu arquivo de registro em/usr/local/var/log/redis.log
:Isso acabou sendo causado pela seguinte configuração:
que era necessário para dar à minha máquina virtual VMWare Fusion acesso ao servidor redis no macOS, o host. No entanto, se a máquina virtual não foi iniciado, essa falha de ligação causada Redis não iniciar em tudo . Portanto, iniciar a máquina virtual resolveu o problema.
fonte
Experimente isto:
fonte