Як встановити Redis на Debian 12, 11 або 10

Redis – це сховище структур даних in-memory з відкритим вихідним кодом, яке широко використовується як база даних, кеш і брокер повідомлень. Висока продуктивність і гнучкість роблять його популярним у різних технологічних галузях. Якщо ви хочете встановити Redis на Debian 12 Bookworm, Debian 11 Bullseye або Debian 10 Buster, то цей посібник для вас.

Ключові особливості Redis

  • Швидкий доступ до даних: Redis зберігає дані в пам’яті, що забезпечує їх швидке отримання. Це робить його ідеальним для додатків кешування.
  • Множинні структури даних: На відміну від традиційних табличних баз даних, Redis підтримує різні структури даних, такі як рядки, хеші, списки та множини.
  • Обмін повідомленнями в реальному часі: Redis пропонує шаблони обміну повідомленнями Publish/Subscribe, що забезпечує взаємодію додатків у реальному часі.
  • Сталість даних: незважаючи на те що Redis є базою даних in-memory, він дає змогу періодично зберігати дані на диску, забезпечуючи баланс між швидкістю і довговічністю.
  • Масштабованість і доступність: Такі функції, як реплікація, поділ і Redis Sentinel, забезпечують високу доступність і масштабованість на декількох вузлах.

Загальні випадки використання Redis

  • Кешування: Redis зазвичай використовується для кешування часто використовуваних даних, що прискорює їхній пошук.
  • Зберігання сесій: Redis добре підходить для зберігання даних користувацьких сесій, особливо у веб-додатках із високою відвідуваністю.
  • Черга повідомлень: Можливості pub/sub роблять Redis чудовим вибором для систем черг повідомлень.

Розуміння можливостей Redis може істотно розширити ваш технологічний стек. У цьому посібнику буде детально описано, як встановити Redis на Debian 12 Bookworm, Debian 11 Bullseye або Debian 10 Buster. Ми розглянемо два методи встановлення: один із них використовує стандартний репозиторій Debian, а інший – офіційний репозиторій Redis останньої версії. В обох випадках будуть використовуватися команди інтерфейсу командного рядка (CLI). Слідкуйте за покроковими інструкціями.

Розділ 1: Кроки попереднього встановлення під час встановлення Redis на Debian

Крок 1: Оновлення системних пакетів Debian

Першим кроком перед встановленням Redis або будь-якого іншого програмного забезпечення є перевірка актуальності пакетів вашої системи. Цей важливий попередній крок допомагає знизити ймовірність виникнення конфліктів у процесі подальшого встановлення. Він забезпечує актуальність усіх системних залежностей, зводячи до мінімуму можливі проблеми, що виникають через застарілі пакети.

У системі Debian це можна зробити, виконавши в терміналі таку команду:

sudo apt update && sudo apt upgrade

Давайте розберемо ці команди окремо:

  • sudo: Це префікс, що дозволяє виконувати команди з привілеями суперкористувача або root. По суті, це спосіб сказати: “Виконати наступну команду від імені адміністратора”.
  • apt update: Ця команда оновлює список доступних пакетів та їхні версії, але не встановлює та не оновлює будь-які пакети.
  • &&: Це логічний оператор в оболонці Bash, який дає змогу виконувати кілька команд в одному рядку. Другу команду буде виконано тільки в разі успішного виконання першої.
  • apt upgrade: Ця команда встановлює новіші версії наявних пакетів. Після оновлення списку доступних пакетів за допомогою apt update їх можна оновити за допомогою apt upgrade.

Крок 2: Встановлення необхідних пакетів для встановлення Redis на Debian

Після оновлення системних пакетів Debian вам буде потрібно встановити певні пакети програмного забезпечення, необхідні для встановлення Redis.

Ви можете встановити ці пакети, виконавши таку команду:

sudo apt install software-properties-common apt-transport-https curl ca-certificates -y

Давайте розберемо цю команду, щоб краще її зрозуміти:

  • sudo apt install: Ця команда використовується для встановлення пакетів у систему Debian.
  • software-properties-common: Цей пакет надає спеціальні сценарії для безпечного управління програмним забезпеченням і вихідним кодом.
  • apt-transport-https: Цей пакет необхідний менеджеру пакетів apt для отримання пакетів за протоколом ‘https’.
  • curl: Це інструмент командного рядка для передачі даних за різними мережевими протоколами. Крім іншого, він допомагає завантажувати файли.
  • ca-certificates: Цей пакет необхідний для перевірки безпеки веб-сайтів. Він надає набір сертифікатів засвідчувальних центрів (CA).
  • -y: Ця опція автоматично відповідає “так” на всі запити під час встановлення.

Нагадаємо, що ця команда використовує привілеї root (sudo) для встановлення (apt install) необхідних пакетів програмного забезпечення, забезпечуючи плавне і безпечне передавання даних (curl і apt-transport-https) і безпечну перевірку сайтів (ca-certificates), а також безпечне управління програмним забезпеченням і вихідним кодом (software-properties-common).

Розділ 2: Встановлення Redis на Debian 12, 11 або 10

Варіант 1: Встановлення Redis за допомогою APT Debian Repository на Debian

Хоча Debian включає Redis у свій стандартний набір програм, версія, яку ви знайдете, може бути не найостаннішою. Debian віддає перевагу стабільності і зазвичай надає тільки оновлення безпеки або основні оновлення. Це може зробити версію Redis на Debian старішою, але, можливо, стабільнішою. Це може бути ідеальним варіантом, якщо передбачуване використання Redis не вимагає найостанніших можливостей.

Щоб встановити Redis цим способом, вам потрібно виконати таку команду в терміналі:

sudo apt install redis

Команда sudo надає привілеї суперкористувача, а apt install redis встановлює пакет ПЗ Redis на систему Debian.

Варіант 2: Встановлення Redis за допомогою APT-репозиторію Redis.io на Debian 12, 11 або 10

Другий спосіб може виявитися більш привабливим для тих, кому потрібна або потрібна найактуальніша версія Redis. Він передбачає імпорт репозиторію APT з офіційного репозиторію Redis.io. У цей репозиторій регулярно надходять виправлення помилок, виправлення безпеки та оновлення функцій.

Крок 1: Імпорт сховища Redis.io в Debian

Перш за все, нам необхідно імпортувати ключ GPG. GPG, або GNU Privacy Guard, – це інструмент для безпечного передавання та зберігання даних. Ключ GPG є частиною автентифікації пакета і гарантує, що дані, які ви збираєтеся завантажити, отримано з очікуваного джерела, і їх не було підроблено під час транспортування. Для імпорту ключа GPG виконайте таку команду:

curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg

Далі ми імпортуємо репозиторій за допомогою такої команди:

echo "deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] https://packages.redis.io/deb $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/redis.list

Крок 2: Оновлення індексу пакетів

Після додавання нового сховища необхідно оновити індекс пакетів системи, щоб дізнатися, які пакети доступні з нового джерела. Для цього виконайте таку команду:

sudo apt-get update

Крок 3: Встановлення Redis з Redis.io на Debian 12, 11 або 10

Коли все готово, ви можете встановити Redis із сховища Redis.io. Якщо у вас уже встановлений Redis із сховища Debian, то замість цього ви можете побачити оновлення. Наступна команда встановлює Redis, а також сервер Redis та інструменти:

sudo apt install redis redis-server redis-tools

Крок 4: Перевірка встановлення Redis

Після встановлення завжди корисно перевірити встановлення. Це можна зробити за допомогою команди apt-cache policy, що підтверджує встановлення версії Redis.io. Ось як її використовувати:

apt-cache policy redis

Далі переконайтеся, що екземпляр Redis активований і налаштований на запуск під час завантаження системи, виконавши таку команду:

sudo systemctl enable redis-server --now

Щоб переконатися, що Redis працює без помилок, виконайте цю команду:

systemctl status redis-server

Ця команда надає інформацію про службу redis-server, яку тепер потрібно запустити.

Перевірка Redis: Перевірка після встановлення на Debian

Порти прослуховування

За замовчуванням Redis прослуховує localhost, використовуючи порт 6379. Щоб переконатися, що Redis дійсно активно прослуховує порт, як і очікувалося, виконайте таку команду:

ps -ef | grep redis

Ця команда відображає запущені процеси, пов’язані з Redis, які повинні відображати стан прослуховування Redis на порту 6379.

Ping-тестування служби Redis

Тест ping – це один із найпростіших способів перевірки працездатності служби Redis. При цьому встановлюється з’єднання зі службою Redis, перевіряється, що вона працює і готова відповідати на команди.

Спочатку підключіться до служби Redis за допомогою такої команди:

redis-cli

Після виконання цієї команди в терміналі має з’явитися повідомлення 127.0.0.1.1:6379, яке вказує на те, що ви підключені до Redis на localhost. Тепер ви можете виконати команду ping для служби Redis наступним чином:

ping

Вихід з екземпляра Redis

Після того як перевірку завершено і ви переконалися, що Redis працює як треба, ви можете вийти з екземпляра Redis, набравши команду:

exit

Ми успішно встановили Redis на систему Debian, використовуючи або APT-репозиторій Debian, або офіційний APT-репозиторій Redis.io.

Розділ 3: Як налаштувати та встановити Redis на Debian 12, 11 або 10

Redis відомий своєю адаптивністю і здатністю підлаштовуватися під найрізноманітніші сценарії. У цьому розділі ми розглянемо налаштування Redis для кешування, доступу до мережі та застосування пароля для посилення безпеки.

Крок 1: Доступ до файлу конфігурації Redis

Робота з налаштування Redis починається з файлу конфігурації Redis, розташованого за адресою /etc/redis/redis.conf. Вам необхідно відкрити цей файл за допомогою текстового редактора, наприклад nano. Для цього виконайте таку команду:

sudo nano /etc/redis.conf

Крок 2: Виділення максимальної пам’яті для кешування

Популярним варіантом використання Redis є кешування даних для підвищення продуктивності додатків. Щоб виділити певний обсяг пам’яті для цієї мети в Redis, додайте такі рядки після файлу конфігурації:

maxmemory 500mb 
maxmemory-policy allkeys-lru

У цьому сценарії ми виділили 500 МБ пам’яті для Redis. Цей об’єм може бути змінений залежно від технічних характеристик вашого сервера і вимог вашого додатка. Коли виділена пам’ять досягне свого обсягу, Redis видалятиме ключі, дотримуючись політики найменшого використання (LRU).

Крок 3: Налаштування мережевого доступу

За замовчуванням Redis налаштований на прослуховування тільки інтерфейсу localhost. Ви можете налаштувати цей параметр таким чином, щоб Redis прослуховував усі мережеві інтерфейси або певні IP-адреси/підмережі.

Для початку необхідно знайти рядок 69 у конфігураційному файлі.

Варіант 1: прослуховування всіх мережевих інтерфейсів

Щоб змусити Redis прослуховувати всі мережеві інтерфейси, можна закоментувати рядок bind, додавши на його початок символ #:

# bind 127.0.0.1 ::1

Варіант 2: Прив’язка до конкретної IP-адреси або підмережі

Щоб прив’язати Redis до конкретної IP-адреси або підмережі, замініть рядок bind на бажану IP-адресу або підмережу:

bind 0.0.0.0/0

або

bind 192.150.5.0/24

Важливо: У разі прив’язки Redis до IP-адреси або підмережі настійно рекомендується вводити пароль для підвищення рівня безпеки.

Крок 4: Примусова перевірка автентичності пароля

Щоб додати додатковий рівень захисту екземпляру Redis, можна задати пароль для аутентифікації.

Знайдіть рядок, що починається з #requirepass (близько рядка 507), відкоментуйте його і задайте надійний пароль:

requirepass YourStrongPasswordHere

Замініть YourStrongPasswordHere на надійний пароль, що складається з великих і малих літер, цифр і спеціальних символів.

Після встановлення пароля під час підключення до Redis за допомогою redis-cli необхідно буде використовувати команду auth разом із паролем:

redis-cli 
auth YourStrongPasswordHere

Користувачі, які не пройшли аутентифікацію, отримають повідомлення про помилку: (помилка) NOAUTH Потрібна аутентифікація. У разі успішної аутентифікації користувачі отримають повідомлення OK.

Крок 5: фіксація змін і перезапуск Redis

Після внесення необхідних змін до конфігураційного файлу збережіть їх, натиснувши Ctrl + O, і вийдіть із редактора nano, натиснувши Ctrl + X.

Нарешті, перезапустіть службу Redis, щоб нові налаштування набули чинності:

sudo systemctl restart redis

Ця команда вимагає від системи зупинити службу Redis і тут же запустити її знову, тим самим забезпечивши роботу Redis відповідно до нових заданих параметрів конфігурації.

Щоб переконатися в тому, що службу Redis було успішно перезапущено і вона працює коректно, можна перевірити її стан, виконавши таку команду:

sudo systemctl status redis

Ця команда поверне інформацію про службу Redis, включно з її статусом (активна або неактивна), часом роботи, а також повідомленнями журналу, які ви могли бачити раніше під час підтвердження встановлення.

Розділ 4: Як налаштувати брандмауер для Redis за допомогою UFW

Важливим компонентом безпечної роботи сервера Redis є налаштування захисного брандмауера. За замовчуванням Redis не має вбудованого брандмауера. Також і Debian, операційна система, яку ви використовуєте, не надає простого у використанні рішення для брандмауера, якщо тільки ви не знайомі з тонкощами iptables. Проте, існує просте і надійне рішення, яке може бути використане навіть тими, хто має початковий або середній рівень знань, для захисту своєї установки Redis під час взаємодії з публічними сервісами. У цьому рішенні використовується Uncomplicated Firewall (UFW), інтуїтивно зрозуміла та зручна утиліта міжмережевого екрану.

Крок 1: Переконайтеся, що UFW встановлено на Debian

Перед налаштуванням брандмауера необхідно перевірити, чи встановлено UFW на вашому сервері Debian. Якщо він ще не встановлений, ви можете легко встановити його за допомогою такої команди:

sudo apt install ufw -y

У цій команді sudo використовується для виконання команди з правами root, apt install – команда для встановлення пакета, ufw – пакет, що встановлюється, а -y – опція, яка автоматично відповідає “так” на будь-які запити, що дає змогу продовжити встановлення без участі користувача.

Крок 2: Увімкнення UFW

Після встановлення UFW необхідно увімкнути його, щоб він почав працювати і захищати вашу систему. Увімкнути UFW можна за допомогою такої команди:

sudo ufw enable

Ця команда вказує UFW на активацію і застосування всіх правил, які ви встановили або будете встановлювати.

Крок 3: Налаштування правил UFW для Redis на Debian 12, 11 або 10

Тепер, коли UFW активовано, ви можете налаштувати його для захисту вашого сервера Redis. Залежно від конкретної ситуації і від того, чи є ваша установка Redis окремим сервером або частиною кластера, вам може знадобитися налаштування різних правил брандмауера.

Для додаткового екземпляра мережевого IP-сервера

Якщо у вас є окремий сервер Redis, який ви хочете захистити за допомогою UFW, використовуйте цю команду:

sudo ufw allow proto tcp from <ip address> to any port 6379

Тут замість <ip address> вказується IP-адреса сервера, з якого необхідно дозволити з’єднання. Ця команда вказує UFW на дозвіл TCP-з’єднань з цієї IP-адреси з будь-якою системою на порт 6379, порт за замовчуванням для Redis.

Для кластерної мережі з кількома екземплярами

Якщо ви працюєте з кластером серверів Redis, ви можете дозволити з’єднання з усієї підмережі. Для цього виконайте таку команду:

sudo ufw allow proto tcp from <ip address>/24 to any port 6379

У цій команді замініть <ip address> на IP-адресу підмережі, з якої ви хочете дозволити підключення. Зверніть увагу, що ця команда передбачає значну довіру до всіх пристроїв у цій підмережі, оскільки відкриває сервер Redis для всіх них. Тому використовуйте цю команду тільки в тому разі, якщо ви впевнені в безпеці своєї внутрішньої мережі.

Крок 4: Перевірка конфігурації UFW

Після налаштування правил UFW важливо переконатися, що вони працюють так, як потрібно. Подібно до того, як на початку цього посібника ви пінгували свій сервер Redis, щоб переконатися в його працездатності, ви також можете перевірити свої нові правила брандмауера. Це можна зробити за допомогою команди redis-cli:

redis-cli -h <ip address> ping

Знову замініть <ip address> на IP-адресу вашого сервера Redis. Якщо правила брандмауера налаштовані правильно і сервер Redis працює як належить, то результатом виконання цієї команди має бути просте pong.

У цій команді redis-cli – це інтерфейс командного рядка для Redis, -h – це хост (IP-адреса вашого сервера), а ping – це команда для перевірки з’єднання із сервером Redis.

Крок 5: Інтерпретація результатів

Висновок команди redis-cli допоможе вам переконатися в тому, що правила брандмауера працюють так, як очікувалося.

pong

Цей висновок є хорошим знаком. Відповідь pong вказує на те, що сервер Redis доступний і готовий приймати команди. Це підтверджує, що правила брандмауера, налаштовані в UFW, працюють коректно, дозволяючи серверу взаємодіяти за призначенням.

Розділ 5: Приклади опцій розширеної конфігурації Redis на Debian

Redis, сховище структур даних у пам’яті, славиться своєю адаптивністю і широким спектром можливостей. Воно служить для безлічі цілей, як-от кешування і брокерство повідомлень. Лише кілька змін у конфігураційному файлі дають змогу змінити продуктивність і поведінку Redis відповідно до ваших унікальних потреб. У цій частині нашого керівництва ми розглянемо додаткові можливості налаштування Redis.

Крок 1: Встановлення політики закінчення терміну дії ключа-значення

У конфігураційному файлі Redis можна встановити стандартний час життя (TTL) для ключів. Управління цим параметром здійснюється за допомогою налаштувань maxmemory-policy і maxmemory-samples. Для початку відкриємо конфігураційний файл за допомогою редактора nano, виконавши таку команду:

sudo nano /etc/redis/redis.conf

Знайдіть параметр maxmemory-policy і налаштуйте його на свій розсуд. Наприклад, якщо ви хочете встановити політику, за якої ключі знищуються за алгоритмом найменшого використання (LRU), оновіть конфігурацію таким чином:

maxmemory-policy volatile-lru

Потім знайдіть параметр maxmemory-samples. Вона визначає кількість вибірок, які Redis повинен переглянути для прийняття рішення про виселення:

maxmemory-samples 5

Крок 2: Увімкнення функції TCP Keepalive

Активація TCP keepalive дає змогу виявляти і закривати непрацюючі з’єднання, що, зі свого боку, вивільняє цінні системні ресурси. Знайдіть параметр tcp-keepalive у файлі /etc/redis/redis.conf, щоб увімкнути його:

tcp-keepalive 300

У цьому прикладі ми встановили інтервал keepalive рівним 300 секундам. Ви маєте скоригувати це значення відповідно до вимог та умов роботи вашого сервера.

Крок 3: Налаштування моніторингу повільних журналів

Повільні журнали являють собою цінний механізм для виявлення проблем із продуктивністю. Вони реєструють запити, які перевищують задану тривалість. Для налаштування повільних журналів знайдіть у файлі /etc/redis/redis.conf параметри slowlog-log-slower-than і slowlog-max-len:

slowlog-log-slower-than 10000 
slowlog-max-len 128

У наведеному прикладі поріг повільного журналу встановлено на 10 000 мікросекунд (що еквівалентно 10 мілісекундам). У повільному журналі зберігатимуться 128 останніх записів. Ці значення слід коригувати відповідно до конкретних вимог та умов.

Крок 4: Увімкнення сповіщень про події Redis

Redis може створювати сповіщення для певних подій, що є потужним інструментом для моніторингу та налагодження. Щоб активувати сповіщення про події, знайдіть параметр notify-keyspace-events у файлі /etc/redis/redis.conf:

notify-keyspace-events ExA

Тут ми налаштовуємо Redis на надсилання сповіщень про ключі, що минули, і витіснені ключі. Якщо ви хочете отримати більш детальну інформацію про повідомлення про події та доступні варіанти, зверніться до офіційної документації Redis.

Крок 5: Налаштування рівня протоколювання Redis

Зміна рівня протоколювання Redis може сприяти ефективнішому усуненню несправностей і моніторингу, надаючи необхідну інформацію. Параметр loglevel у файлі /etc/redis/redis.conf визначає рівень протоколювання:

loglevel notice

У цьому сценарії ми встановили рівень протоколювання ‘notice’, тобто значення за замовчуванням. Доступні такі опції: ‘debug’, ‘verbose’, ‘notice’ і ‘warning’. Ви маєте налаштувати рівень протоколювання так, щоб він якнайкраще відповідав вашим потребам.

Після завершення налаштування параметрів конфігурації збережіть зміни. Наступний і останній крок – перезапуск Redis, щоб зміни набули чинності. Це можна зробити за допомогою такої команди:

sudo systemctl restart redis-server

Після виконання цієї команди Redis перезапуститься, і зміни, внесені в конфігурацію, будуть застосовані.

Заключні роздуми

У цьому посібнику ми розглянули встановлення та налаштування Redis на серверах Debian 12, 11 або 10, надавши детальний огляд різних кроків. Починаючи з початкової інсталяції та закінчуючи налаштуванням брандмауера для забезпечення додаткової безпеки, ми детально розглянули налаштування Redis для задоволення конкретних потреб. Крім того, ми розглянули додаткові варіанти конфігурації, що забезпечують більш глибоке розуміння того, як можна оптимізувати Redis відповідно до ваших конкретних вимог. Важливо пам’ятати, що Redis як багатофункціональне сховище структур даних пропонує безліч варіантів конфігурації, що дає змогу точно налаштувати його продуктивність і поведінку відповідно до ваших потреб.

Поділіться своєю любов'ю

Залишити відповідь

0 комментариев
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x