Мы работали с redis-сервером на нескольких экземплярах AWS EC2 Ubuntu (14.04.4 LTS) без проблем. Я развернул тестовый сервер, чтобы попробовать обновление до Ubuntu 16.04.1 LTS, и теперь redis не будет работать.
Если я пытаюсь запустить Redis вручную, я получаю это:
~$ 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.
Информация об ошибке:
~$ 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.
Я пробовал следующее:
- перезапустил сервер
- запустите наш скрипт развертывания, который включает перезапуск Redis
- используется
sudo apt-get
для удаления и повторной установки Redis-сервера - выполнить установку дважды, один раз приняв новый
/etc/redis/redis.conf
файл из пакета, и один раз сохранив наш оригинальный файл
Какие-либо предложения?
Ответы:
Я установил Redis с помощью
apt-get install redis-server
Проблема для меня: учебники, которые я нашел, например. другой ответ на этот вопрос предполагает, что файлы Redis находятся в
/usr/local/bin
.На моей установке они расположены
/usr/bin
так, что исправление для этого меняется,/etc/systemd/system/redis.service
чтобы отразить это.На данный момент я могу при запуске
/usr/bin/redis-server /etc/redis/redis.conf
вручную и успешно запуститьsudo systemctl start redis
.Итак, что вам нужно сделать, чтобы Redis работал на 16.04:
apt-get install redis-server
, не загружайте tar, затем создайте и установите.sudo vi /etc/systemd/system/redis.service
sudo systemctl start redis
sudo /usr/bin/redis-server /etc/redis/redis.conf
.Важной частью, которую я должен был отредактировать, было убедиться, что
линии не указывают
usr/local/bin/foo
- нужно удалить/local
источник
У меня была та же проблема, но причина была в другом.
Я использовал redis для тестирования на виртуальной машине с клиентом dhcp.
Конфиг
/etc/redis/redis.conf
указывал на неправильный (старый) локальный IP-адрес, и поэтому он не мог привязать службу к новому назначенному IP-адресу от DHCP.Вот журнал для такой проблемы:
источник
Может быть, попробуйте это, вот рабочий конфиг, чтобы
/lib/systemd/system/redis.service
увидеть, если это может работать для вас.Затем проверьте файл журнала, указанный в конфигурации,
/etc/redis/redis.conf
чтобы убедиться, что у вас есть правильные разрешения.источник
Если вы используете Ubuntu, вы должны иметь
supervised systemd
в/etc/redis/redis.conf
.источник
Откройте свой терминал и выполните команду ifconfig, тогда вы получите свой IP-адрес, например 192.168.0.109, затем отредактируйте свою конфигурацию, выполнив команду sudo nano /etc/redis/redis.conf, здесь nano - редактор. Вы можете использовать любой другой редактор, какой захотите, затем выполнить поиск в bind и указать свой IP-адрес, например:
bind 127.0.0.1 192.168.0.109 здесь мой ip 192.168.0.109, затем перезапустите ваш сервер с помощью этой команды sudo systemctl restart redis.service проверьте состояние вашего сервера sudo systemctl status redis, тогда вы найдете его активным
источник