Не могу получить доступ к моему экземпляру redis - PullRequest
1 голос
/ 14 ноября 2011

У меня недавно была проблема с redis.Моя установка следующая:

  • Ubuntu 11.11
  • Redis 2.4.2 (не из репозитория, но скомпилирован)

Дело в том, чтоЯ вдруг не могу получить доступ к серверу Redis!Он запускается очень хорошо, журнал выглядит так:

[23759] 14 Nov 14:37:15 - DB 0: 473 keys (0 volatile) in 512 slots HT.<br> [23759] 14 Nov 14:37:15 - DB 1: 2882 keys (0 volatile) in 4096 slots HT.<br> [23759] 14 Nov 14:37:15 - DB 4: 6 keys (0 volatile) in 8 slots HT.<br> [23759] 14 Nov 14:37:15 - DB 8: 6094 keys (0 volatile) in 8192 slots HT.<br> [23759] 14 Nov 14:37:15 - 0 clients connected (0 slaves), 26706728 bytes in use

Как только я попытаюсь подключиться, например, redis-cli, я получу тайм-аут.

Я уже установил таймаут на 0 и проверил открытые порты через nmap, все вроде нормально.У кого-нибудь есть похожие проблемы с redis и / или Ubuntu 11.11?Я подозреваю, что выскочка является проблемой на самом деле ...

1 Ответ

3 голосов
/ 16 ноября 2011

Я скомпилировал, установил и интенсивно использовал Redis на нескольких экземплярах Ubuntu 11.11.Кажется, что происходит одна из трех вещей.

  1. Redis работает как демон.Upstart плохо работает с демонизированными (фоновыми) процессами.Измените ваш redis.conf и убедитесь, что вы НЕ запускаете Redis как демон.В противном случае выскочка будет считать, что процесс остановлен, и попытается запустить его снова, что может испортить ситуацию.
  2. Есть проблемы с вашим redis.conf, или вы не запускаете Redis с файлом redis.conf, который, по вашему мнению, вамявляются.Проверьте свой redis.conf и убедитесь, что вы правильно включили TCP-подключения, привязавшись к IP-адресу и порту, или что вы включили сокеты Unix.
  3. Вы настроили Redis для прослушивания нестандартного порта иличерез сокет unix и redis-cli не передается правильный порт или сокет.Или вы используете сокеты, а пользователь, с которым вы работаете redis-cli, не имеет разрешения на чтение / запись в сокет.

Вот действующий скрипт upstart, который я использую в своих средах разработки,который я помещаю в /etc/init/redis.conf: https://gist.github.com/1297014

Вот файл конфигурации Redis, который я обычно храню в /opt/redis/redis.conf вместе с исполняемыми файлами redis (хотя хранение файла conf в /etc/redis.conf, вероятно, будет болеестандарт): https://gist.github.com/1368914

Помимо нескольких небольших изменений, мои среды разработки используют стандартный файл redis.conf.Единственное изменение, которое я должен был сделать, чтобы поддержать использование upstart для управления redis, было установить daemonize no.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...