Установите 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:6379systemd [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