Estamos executando o redis-server em várias instâncias do AWS EC2 Ubuntu (14.04.4 LTS) sem problemas. Acelerei um servidor de teste para tentar a atualização para o Ubuntu 16.04.1 LTS e agora os redis não funcionarão.
Se eu tentar iniciar o redis manualmente, recebo o seguinte:
~$ sudo service redis-server restart
Job for redis-server.service failed because the control process exited with error code. See "systemctl status redis-server.service" and "journalctl -xe" for details.
Informações de erro:
~$ systemctl status redis-server.service
● redis-server.service - Advanced key-value store
Loaded: loaded (/lib/systemd/system/redis-server.service; enabled; vendor preset: enabled)
Active: inactive (dead) (Result: exit-code) since Wed 2016-10-19 19:26:06 UTC; 25min ago
Docs: http://redis.io/documentation,
man:redis-server(1)
Process: 3730 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (code=exited, status=1/FAILURE)
Process: 3724 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (code=exited, status=0/SUCCESS)
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Control process exited, code=exited status=1
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Unit entered failed state.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Failed with result 'exit-code'.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Service hold-off time over, scheduling restart.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Stopped Advanced key-value store.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: redis-server.service: Start request repeated too quickly.
Oct 19 19:26:06 ip-x-y-z-w systemd[1]: Failed to start Advanced key-value store.
Eu tentei o seguinte:
- reiniciou o servidor
- execute nosso script de implantação, que inclui uma reinicialização redis
- usado
sudo apt-get
para desinstalar e reinstalar o redis-server - fizemos a instalação duas vezes, uma vez aceitando o novo
/etc/redis/redis.conf
arquivo do pacote e mantendo nosso arquivo original
Alguma sugestão?
Respostas:
Eu instalei o redis usando
apt-get install redis-server
O problema para mim: os tutoriais que encontrei, por exemplo. a outra resposta a esta pergunta assume que os binários redis estão localizados
/usr/local/bin
.Na minha instalação, eles estão localizados,
/usr/bin
então uma correção para isso está mudando/etc/systemd/system/redis.service
para refletir isso.Neste ponto, posso iniciar
/usr/bin/redis-server /etc/redis/redis.conf
manualmente e executar com êxitosudo systemctl start redis
.Portanto, o que você precisa fazer para que o redis funcione no 16.04 é:
apt-get install redis-server
, não faça o download do tar e faça e instale.sudo vi /etc/systemd/system/redis.service
sudo systemctl start redis
sudo /usr/bin/redis-server /etc/redis/redis.conf
.A parte importante que eu tive que editar foi garantir que
linhas não apontavam para
usr/local/bin/foo
- é necessário remover o/local
fonte
Eu tive o mesmo problema, mas a causa foi diferente.
Usei redis para testar em uma VM com o cliente dhcp.
A configuração
/etc/redis/redis.conf
estava apontando para o IP local errado (antigo) e, portanto, não pôde vincular o serviço ao novo IP atribuído do DHCP.Aqui está o log para esse problema:
fonte
Talvez tente isso, aqui está uma configuração de trabalho para
/lib/systemd/system/redis.service
ver se isso talvez funcione para você.Em seguida, verifique o arquivo de log especificado na configuração
/etc/redis/redis.conf
para garantir que você tenha as permissões corretas.fonte
Se você estiver usando o Ubuntu, você deve ter
supervised systemd
em/etc/redis/redis.conf
.fonte
Abra seu terminal e execute o comando ifconfig, então você obterá o seu endereço IP como 192.168.0.109 e editará sua configuração executando o comando sudo nano /etc/redis/redis.conf aqui o nano é um editor. Você pode usar qualquer outro editor o que quiser, então procure bind e coloque seu endereço IP como
bind 127.0.0.1 192.168.0.109 aqui meu ip é 192.168.0.109 e reinicie o servidor por este comando sudo systemctl restart redis.service verifique o status do servidor sudo systemctl status redis e você o encontrará ativo
fonte