Установите Redis-Server на Ubuntu 16.04 LTS минимально

У меня есть вопрос и надеюсь, что кто-нибудь может мне помочь. У меня есть vServer на основе OpenVZ (я ненавижу ограничения ядра) и не могу установить Redis.

Что я делаю:

  • Чистая установка Ubuntu 16.04. LTS минимальный
  • Войдите в систему как root
  • бежать: apt update
  • бежать: apt upgrade

(Я не знаю, имеет ли это отношение, но это появляется в процессе:

Установка новой версии конфигурационного файла /etc/systemd/system.conf ... addgroup: группа `systemd-journal'уже существует как системная группа. Выход. [/usr/lib/tmpfiles.d/var.conf:14] Повторяющаяся строка для пути "/var/log", игнорируется. Не удалось проверить путь / var / run / sshd: слишком много уровней символических ссылок Не удалось проверить путь / var / run / sudo: слишком много уровней символических ссылок Не удалось проверить путь / var / run / sudo / ts: слишком много уровней символических ссылок (Чтение базы данных... 16369 файлов и каталогов, установленных в настоящее время.)

  • бежать: apt install redis-server

Проблема появляется:

Настройка redis-сервера (2: 3.0.6-1) ...

fchownat () из / run / redis не выполнен: неверный аргумент

insserv: предупреждение: скрипт поврежден или недействителен: /etc/init.d/../rc2.d/S15ssh_gen_host_keys

Задание для redis-server.service не выполнено из-за превышения времени ожидания. Подробности смотрите в разделах "systemctl status redis-server.service" и "journalctl -xe".

invoke-rc.d: initscript redis-server, действие "start" не выполнено.

...

Процесс: 11845 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.p ost-down.d (код = выход, статус =0/ УСПЕХ)

Процесс: 11839 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server. post-up.d (код = выход, статус =0/ УСПЕХ)

Процесс: 11837 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (код = выход, статус =0/ УСПЕХ)

Процесс: 11833 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.p re-up.d (код = выход, статус =0/ УСПЕХ)

systemd [1]: не удалось запустить расширенное значение ключа....

systemd[1]: redis-server.service: модуль введен....

systemd[1]: redis-server.service: не удалось с помощью....

Подсказка: некоторые строки были эллиптическими, используйте -l, чтобы показать их полностью.

dpkg: пакет обработки ошибок redis-server (--configure): после установки установлен подпроцесс, возвращен статус выхода из ошибки 1

Обработка триггеров для libc-bin (2.23-0ubuntu10) ...

Обработка триггеров для systemd (229-4ubuntu21.9) ...

Обработка триггеров для ureadahead (0.100.0-19) ...

При обработке возникли ошибки: redis-server

E: Подпроцесс /usr/bin/dpkg вернул код ошибки (1)

W: Операция была прервана прежде, чем она могла закончиться

  • бежать: systemctl status redis-server.service

redis-server.service - Расширенное хранилище значений ключей. Загружен: загружен (/lib/systemd/system/redis-server.service; включен; предустановка поставщика: включена) Активен: активирован (начальная запись) с Пн 2018-11-19 19:41:53 CET; 54s ago Документы: http://redis.io/documentation, man: redis-server (1) Процесс: 11966 ExecStopPost=/bin/run-parts --verbose /etc/redis/redis-server.post-down.d (код = выход, статус =0/SUCC
Процесс: 11978 ExecStartPost=/bin/run-parts --verbose /etc/redis/redis-server.post-up.d (код = выход, статус =0/SUCCE
Процесс: 11976 ExecStart=/usr/bin/redis-server /etc/redis/redis.conf (код = выход, состояние =0/ УСПЕХ) Процесс: 11972 ExecStartPre=/bin/run-parts --verbose /etc/redis/redis-server.pre-up.d (код = выход, статус =0/SUCCESS CGroup: /system.slice/redis-server.service └─11977 / usr / bin / redis-server 127.0.0.1:6379

systemd [1]: запуск расширенного хранилища значений ключей...

run-parts [11972]: run-parts: выполнение /etc/redis/redis-server.pre-up.d/00_example

run-parts [11978]: run-parts: выполнение /etc/redis/redis-server.post-up.d/00_example

systemd[1]: redis-server.service: файл PID /var/run/redis/redis-server.pid не читается (

После этого я не могу запустить Redis-Server (не удалось из-за превышения времени ожидания) . Что я могу сделать, чтобы решить эту проблему? Я видел много тем о redis на этом форуме, но решения не помогли мне. Извините за мой плохой английский. Заранее спасибо.

1 ответ

Чтобы исправить ошибку: установите Redis как пользователь без полномочий root.

sudo apt-get update
sudo apt-get install build-essential tcl

Скачать и извлечь исходный код

cd /tmp

Теперь загрузите последнюю стабильную версию Redis. Это всегда доступно по стабильному адресу загрузки:

curl -O http://download.redis.io/redis-stable.tar.gz

Распакуйте архив, набрав:

tar xzvf redis-stable.tar.gz

Перейдите в только что извлеченную структуру каталогов исходного кода Redis:

cd redis-stable

Сборка и установка Redis

Компиляция зависимостей:

cd deps
sudo make hiredis jemalloc linenoise lua geohash-int
cd ..

Скомпилируйте исполняемые файлы Redis, набрав:

make

После компиляции двоичных файлов запустите тестовый набор, чтобы убедиться, что все собрано правильно. Вы можете сделать это, набрав:

make test

Обычно это займет несколько минут. После завершения вы можете установить двоичные файлы в систему, набрав:

sudo make install

Начните с создания пользователя и группы redis. Это можно сделать одной командой, набрав:

sudo adduser --system --group --no-create-home redis

Теперь мы можем создать каталог /var/lib/redis, набрав:

sudo mkdir /var/lib/redis

Мы должны дать пользователю и группе redis право собственности на этот каталог:

sudo chown redis:redis /var/lib/redis

Настройте разрешения, чтобы обычные пользователи не могли получить доступ к этому местоположению:

sudo chmod 770 /var/lib/redis

Начиная Redis

Запустите службу systemd, набрав:

sudo systemctl start redis

Убедитесь, что у службы нет ошибок, запустив:

sudo systemctl status redis

Источник: https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-redis-on-ubuntu-16-04

Другие вопросы по тегам