Як встановити Memcached на Debian 12

Бред Фітцпатрік розробив Memcached у 2003 році для сайту LiveJournal як потужну систему кешування з відкритим вихідним кодом для підвищення продуктивності динамічних веб-додатків за рахунок зниження навантаження на базу даних. Відтоді вона стала життєво необхідною для багатьох веб-сайтів і додатків із високою відвідуваністю. Перш ніж приступити до встановлення Memcached на Debian 12 Bookworm, Debian 11 Bullseye або Debian 10 Buster, розгляньмо деякі ключові моменти, пов’язані з Memcached.

Ключові особливості та переваги:

  • Масштабованість: Memcached, що обробляє мільйони операцій на секунду, ідеально підходить для великомасштабних веб-додатків і служб.
  • Розподілене кешування: завдяки архітектурі розподіленого кешування Memcached дає змогу горизонтально масштабувати систему на кількох серверах, збільшуючи загальну ємність кешу.
  • In-Memory Storage: Будучи сховищем ключових значень у пам’яті, Memcached забезпечує швидкий доступ до кешованих даних, значно знижуючи затримки в дискових системах зберігання.
  • Простий API: Memcached надає простий API, що підтримує різні мови програмування, зокрема PHP, Python, Ruby та інші.
  • Закінчення терміну дії кешу: Система дає змогу розробникам задавати час закінчення терміну дії кешованих даних, що сприяє автоматичному видаленню з кешу застарілих або неактуальних даних.
  • Легка вага: При мінімальному навантаженні на процесор і пам’ять Memcached ефективно працює на різних конфігураціях серверів, не забираючи при цьому значних системних ресурсів.
  • Гнучкі типи даних: Завдяки підтримці різних типів даних, таких як рядки, цілі числа і складні об’єкти, Memcached є універсальним рішенням для різних випадків використання.

У наступному посібнику ми розглянемо процес встановлення Memcached на Debian 12 Bookworm, Debian 11 Bullseye або Debian 10 Buster, використовуючи або стандартний репозиторій apt, або вручну завантаживши та скомпілювавши останні вихідні тексти. Після інсталяції в статті буде запропоновано важливі поради та рекомендації з налаштування, які допоможуть вам оптимізувати інсталяцію Memcached.

Встановлення Memcached на Debian 12, 11 або 10 за допомогою APT

У цьому розділі ми встановимо Memcached на систему Debian Linux за допомогою менеджера пакетів APT. Це включає в себе оновлення системних пакетів і встановлення Memcached за допомогою деяких корисних інструментів.

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

Щоб переконатися, що у вас є останні версії пакетів і оновлення безпеки, почніть з оновлення системи Debian. Виконайте таку команду:

sudo apt update && sudo apt upgrade

Ця команда оновить список пакетів і оновить застарілі пакети до їхніх останніх версій.

Крок 2: Встановлення Memcached і Libmemcached-tools на Debian

Debian включає Memcached у свої сховища за замовчуванням, що спрощує встановлення. Щоб встановити Memcached, виконайте таку команду:

sudo apt install memcached libmemcached-tools

Ця команда встановлює як Memcached, так і пакет libmemcached-tools. Пакет libmemcached-tools надає додаткові утиліти командного рядка, які забезпечують ширші можливості взаємодії та управління Memcached.

Встановлення Memcached на Debian 12, 11 або 10 з вихідних текстів

У цьому розділі розглядається встановлення Memcached на систему Debian шляхом компіляції з вихідного коду. Встановлення з вихідних текстів може бути корисним, якщо ви хочете використовувати останню версію Memcached або налаштувати збірку під конкретні вимоги.

Крок 1: Завантаження вихідного коду Memcached на Debian

Спочатку відвідайте сторінку останнього випуску Memcached, щоб знайти поточну версію. Для безпосереднього завантаження використовуйте наступну команду wget:

wget https://memcached.org/latest

Крок 2. Розпакування архіву з вихідним кодом Memcached на Debian

Далі витягніть завантажений вихідний код, виконавши таку команду:

tar -xvf latest

Перш ніж продовжити, перейдіть у розпакований каталог. Ім’я каталогу залежить від завантаженої версії:

cd memcached-{place version number here}

Замініть {version_number} на фактичний номер версії.

Крок 3: Встановлення початкових пакетів, необхідних для компіляції Memcached

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

sudo apt install build-essential libevent-dev gcc make libc6-dev

Встановлені пакети слугують для таких цілей:

  • gcc: Відомий компілятор мови Сі для вихідних файлів Memcached.
  • make: Керує компіляцією.
  • libc6-dev: Надає посилання на бібліотеку GNU C і заголовкові файли.
  • libevent-dev: Містить файли розробки для асинхронного повідомлення про події.

Крок 4: Налаштування встановлення

За допомогою параметра –prefix= задайте каталог, у який буде встановлено бінарні файли та бібліотеки Memcached:

./configure --prefix=/usr/local

Крок 5: Компіляція вихідного коду Memcached на Debian

Скомпілюйте вихідний код Memcached за допомогою команди make:

make

Протестуйте Memcached, підтвердивши поточну версію:

./memcached --version

Крок 6. Встановлення Memcached на Debian за допомогою команди ‘make install’

Після завершення процесу компіляції встановіть Memcached, виконавши таку команду:

sudo make install

Ця команда встановлює Memcached на вашу систему, роблячи її доступною з командного рядка. Щоб переконатися, що система розпізнала нові бібліотеки, виконайте наступне:

sudo ldconfig

Крок 7: Перевірка встановлення Memcached на Debian

Щоб переконатися в тому, що Memcached успішно встановлено, виконайте таку команду:

memcached -V

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

Крок 8: Створення служби Systemd для Memcached на Debian

Під час встановлення Memcached з вихідних текстів не відбувається автоматичного створення файлу служби systemd. Щоб запустити Memcached як службу і керувати ним за допомогою systemctl, необхідно створити користувацький файл служби systemd для Memcached. Виконайте такі кроки для створення та ввімкнення служби:

Створіть новий файл memcached.service у каталозі /etc/systemd/system за допомогою текстового редактора. У цьому прикладі ми будемо використовувати nano:

sudo nano /etc/systemd/system/memcached.service

Додайте такий вміст у файл memcached.service:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Збережіть файл і вийдіть із текстового редактора.

Створіть користувача і групу memcache для безпечного запуску служби:

sudo useradd -r -s /sbin/nologin -U -M memcache

Перезавантажте конфігурацію systemd для розпізнавання нового службового файлу:

sudo systemctl daemon-reload

Нарешті, запустіть сервіс:

sudo systemctl enable memcached --now

Керування станом служби Memcached на Debian 12, 11 або 10

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

Крок 1: Перевірка стану служби Memcached

За замовчуванням служба Memcached має бути запущена після встановлення. Щоб перевірити її статус, використовуйте команду systemctl наступним чином:

systemctl status memcached

Ця команда відобразить поточний стан служби Memcached.

Крок 2: Запуск служби Memcached

Якщо службу Memcached не запущено, її можна запустити за допомогою такої команди:

sudo systemctl start memcached

Крок 3: Увімкнення Memcached під час завантаження системи

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

sudo systemctl enable memcached

Крок 4: Зупинення служби Memcached

Якщо необхідно зупинити службу Memcached, використовуйте цю команду:

sudo systemctl stop memcached

Крок 5: Вимкнення Memcached під час завантаження системи

Щоб запобігти автоматичному запуску служби Memcached під час завантаження системи, виконайте таку команду:

sudo systemctl disable memcached

Крок 6: Перезапуск служби Memcached

Якщо необхідно перезапустити службу Memcached, наприклад, після внесення змін до конфігурації, використовуйте цю команду:

sudo systemctl restart memcached

Крок 7: Переконайтеся, що Memcached прослуховує порт за замовчуванням

І нарешті, переконайтеся, що Memcached активно прослуховує localhost, використовуючи порт за замовчуванням 11211. Для підтвердження цього виконайте таку команду:

ps -ef | grep memcached

У результаті має з’явитися рядок, який вказує на те, що Memcached запущений і прослуховує вказаний порт, як показано нижче:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Налаштування Memcached на Debian 12, 11 або 10

У цьому розділі ми розглянемо налаштування параметрів Memcached шляхом редагування файлу memcached.conf. Ми обговоримо налаштування IP-адреси прослуховування, вимкнення UDP і зміну розподілу пам’яті за замовчуванням.

Крок 1: Відкрийте файл конфігурації Memcached

Відкрийте файл конфігурації Memcached, розташований за адресою /etc/memcached.conf, за допомогою текстового редактора, наприклад nano:

sudo nano /etc/memcached.conf

Користувачам, які скомпілювали Memcached з вихідних текстів, потрібно буде створити цей файл, щоб під час першого відкриття він був порожнім порівняно з методом APT; ви можете скопіювати його, щоб почати налаштування:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Крок 2: Налаштування IP-адреси прослуховування

За замовчуванням Memcached прослуховує IP-адресу 127.0.0.1. Перевірте параметр -l у конфігураційному файлі та переконайтеся, що він встановлений на правильну IP-адресу. Якщо необхідно змінити IP-адресу, замініть 127.0.0.1 новою IP-адресою:

-l 127.0.0.1

Крок 3: Вимкнення UDP (необов’язково)

Якщо підтримка UDP не потрібна, рекомендується вимкнути її. Щоб вимкнути UDP, додайте в конфігураційний файл такий рядок:

-U 0

Крок 4: Налаштування розподілу пам’яті

За замовчуванням для Memcached виділяється 64 МБ пам’яті, що може виявитися недостатнім для великих сайтів. Щоб максимально ефективно використовувати Memcached, слід змінити розподіл пам’яті на більш високе значення.

Для налаштування розподілу пам’яті знайдіть у конфігураційному файлі параметр -m і замініть значення за замовчуванням на необхідну кількість (у МБ). Наприклад, для виділення 2 ГБ пам’яті встановіть значення 2000:

-m 2000

Налаштуйте цей параметр відповідно до доступної пам’яті та вимог вашого сервера.

Крок 5: Збереження та перезапуск Memcached

Після внесення необхідних змін збережіть конфігураційний файл, натиснувши CTRL+O, потім Y, а потім CTRL+X для виходу з текстового редактора. Нарешті, перезапустіть службу Memcached, щоб зміни набули чинності:

sudo systemctl restart memcached

Встановлення UFW Firewall для Memcached на Debian 12, 11 або 10

Для забезпечення безпеки вашого екземпляра Memcached дуже важливо правильно налаштувати правила брандмауера. У цьому розділі ми розглянемо, як встановити та налаштувати Uncomplicated Firewall (UFW) для забезпечення безпеки вашого сервера Memcached.

Крок 1: Перевірте, чи встановлено UFW у Debian

Спочатку давайте перевіримо, чи встановлено UFW на вашій системі Debian:

sudo ufw --version

Якщо UFW встановлено, то у висновку ви побачите номер його версії. Якщо ні, то його необхідно встановити.

Крок 2. Встановлення UFW на Debian для роботи з Memcached

Щоб встановити UFW на систему Debian, виконайте таку команду:

sudo apt install ufw

Після завершення встановлення увімкніть UFW за допомогою такої команди:

sudo ufw enable

Крок 3: Налаштування правил UFW для Memcached на Debian

Тепер, коли UFW встановлений і ввімкнений, необхідно створити дозвільні правила для порту TCP 11211. Правила, які ви створите, залежатимуть від вашої установки і вимог, чи то використання одного IP мережевого з’єднання, чи то робота з кількома екземплярами в кластерній мережі.

Приклад одиночного мережевого IP-підключення

Дозволити доступ до Memcached з певної IP-адреси:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Приклад підключення до IP-мережі кластера з кількома екземплярами

Дозволити доступ до Memcached із підмережі IP-адрес:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Зверніть увагу, що друге правило UFW є правилом підмережі. Перш ніж дозволити доступ, переконайтеся, що внутрішня мережа безпечна і надійна.

Крок 4: Перевірка правил UFW

Після налаштування відповідних правил перевірте правильність їхньої конфігурації, перерахувавши поточні UFW-правила:

sudo ufw status

У результаті мають з’явитися налаштовані правила, що забезпечують захист екземпляра Memcached за допомогою UFW.

Встановлення бібліотек Memcached на Debian 12, 11 або 10

Memcached пропонує розширення для різних мов програмування, але найчастіше він використовується в PHP. У цьому розділі ми розповімо вам про встановлення бібліотек Memcached для PHP, Python і Perl, а також про налаштування Memcached для веб-серверів Apache і Nginx.

Встановлення бібліотек PHP для Memcached на Debian

Щоб встановити бібліотеку PHP для Memcached, виконайте таку команду:

sudo apt install php-memcached libapache2-mod-php php php-cli

Налаштування Memcached для Apache HTTP Server у Debian

Якщо ви використовуєте HTTP-сервер Apache, увімкніть модуль Memcached, виконавши таку команду:

sudo phpenmod memcached && sudo systemctl restart apache2

Налаштування Memcached для HTTP-сервера Nginx на Debian

Підтримка Memcached буде включена за замовчуванням у вашому блоці конфігурації PHP після встановлення бібліотеки PHP для користувачів Nginx.

Нижче наведено приклад простого блоку сервера nginx:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /\.ht {
        deny all;
    }
}

Встановлення бібліотеки Python для Memcached у Debian

Щоб встановити підтримку Python для Memcached, виконайте таку команду:

sudo apt install python3-pymemcache

Встановлення бібліотеки Perl для Memcached у Debian

Щоб встановити підтримку Perl для Memcached, виконайте таку команду:

sudo apt install libcache-memcached-libmemcached-perl

Висновок

Насамкінець слід зазначити, що встановлення та налаштування Memcached у Debian Linux може значно підвищити продуктивність ваших веб-додатків завдяки швидкій, ефективній і простій у використанні системі кешування. Дотримуючись кроків, описаних у цьому посібнику, ви зможете успішно встановити Memcached, конфігурувати його з обраним вами веб-сервером і захистити його за допомогою UFW. При правильному налаштуванні та управлінні Memcached може стати незамінним помічником в оптимізації додатків і забезпеченні кращої якості роботи користувачів.

Поділіться своєю знахідкою

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

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