Як встановити Memcached на Ubuntu 20.04 LTS

Оптимізуйте продуктивність своєї бази даних за допомогою сервера Memcached з додатками PHP і Python

Якщо ви коли-небудь відчували біль від високого навантаження на базу даних, що спричиняло уповільнення роботи ваших веб-програм, і задавалися питанням: «Чи є спосіб зменшити затримку, спричинену запитами БД?», тоді відповідь на це запитання — ствердна. Memcached – це дружній демон кешу пам’яті сусідів, щоб вирішити всі ваші проблеми! Кешування БД є одним із найпростіших методів для полегшення навантаження на БД і прискорення динамічних веб-додатків.

Memcached визначає себе як високопродуктивну систему кешування об’єктів розподіленої пам’яті, загальну за своєю природою, але спочатку призначену для прискорення динамічних веб-додатків шляхом зменшення навантаження на базу даних. Розроблено Бредом Фіцпатріком для його веб-сайту LiveJournal у 2003 році.

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

Передумови

Система, встановлена ​​з Ubuntu 20.04 з користувачем з правами адміністратора, тобто a sudo користувач.

Установка

Memcached доступний в офіційному репозиторії Ubuntu 20.04, на додаток до Memcached ми також збираємося встановити інструмент CLI, відомий як libmemcached-tools для керування Memcached. Просто запустіть наступну команду, щоб встановити обидва

sudo apt встановити memcached libmemcached-tools

Перевірте встановлення

Після завершення інсталяції демон Memcached сам запускається у фоновому режимі. Щоб перевірити встановлення, ми можемо використовувати команду from libmemcached-tools пакет, щоб отримати статистику сервера Memcached. Або біжи

memcstat --сервери localhost

або

memcstat --сервери 127.0.0.1

The memcstat команда показує статистику запущеного сервера. Наведена вище команда призведе до виведення, яке відображатиметься нижче.

Різна статистика, наприклад час роботи за секунди, версія і pid буде відображатися як вихід. Однак, якщо вивід не відображається, можливо, Memcached не запущено. Таким чином, ви повинні виконати таку команду, щоб запустити сервер Memcached.

sudo systemctl запустити memcached

Щоб запустити сервер Memcached під час запуску системи, скористайтеся такою командою.

sudo systemctl увімкнути memcached

Налаштування Memcached

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

З іншого боку, якщо ви встановили Memcached в окремій системі, вам потрібно буде змінити конфігурацію, щоб дозволити віддаленому серверу доступ до сервера Memcached.

Налаштування віддаленого доступу до сервера Memcached

Memcached вразливий до атак DDoS (розподілена відмова в обслуговуванні). Неправильне правило брандмауера та відкриті порти UDP залишать ваш сервер відкритим і вразливим до DDoS-атак.

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

З коробки Ubuntu постачається без відкритих портів TCP або UDP. Крім того, демон брандмауера ufw (нескладний брандмауер) не ввімкнено за замовчуванням.

Ми збираємося ввімкнути брандмауер і налаштувати конфігурацію Memcached, щоб ми могли пом’якшити вразливість DDoS.

По-перше, увімкніть ufw виконавши таку команду:

sudo systemctl увімкнути ufw

Потім почніть ufw сервіс, виконавши команду нижче:

sudo systemctl start ufw

Коли брандмауер працює, ми нарешті можемо налаштувати правила брандмауера. По-перше, увімкніть порт 22, щоб дозволити підключення SSH. SSH потрібен для віддаленого доступу до потрібного сервера.

sudo ufw дозволити 22

По-друге, вам потрібно знати IP-адресу клієнта, тобто хост веб-програми та IP-адресу сервера, тобто сервера Memcached.

Для цього прикладу припустимо IP-адресу клієнта 192.168.0.4 і IP-адреса сервера Memcached 192.168.0.5 в локальній мережі.

Отже, щоб дозволити віддалений доступ сервера memcached до сервера клієнта, виконайте:

sudo ufw дозволити з 192.168.0.4 до будь-якого порту 11211

Замініть 192.168.0.4 з бажаною IP-адресою клієнта.

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

sudo nano /etc/memcached.conf

The memcached.conf файл конфігурації відкриється в редакторі nano, знайдіть файл -l 127.0.0.1 рядок у конфігурації та замініть 127.0.0.1 з вашим IP-адресом сервера Memcached або в цьому випадку 192.168.0.5.

Після заміни прес ctrl+o щоб записати в конфігураційний файл і натиснути Enter, натисніть ctrl+x щоб вийти з nano.

Перезапустіть сервер Memcached і ufw брандмауер, виконавши команду нижче.

sudo systemctl перезапустити memcached ufw

Тепер ми закінчили встановлення та налаштування сервера Memcached на Ubuntu 20.04.

Підключення до сервера Memcached

Щоб використовувати сервер Memcached, вам потрібно буде встановити клієнт для певної мови. На щастя, Memcached підтримує багато популярних мов.

Отже, давайте подивимося, як встановити php і python клієнт для Memcached.

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

Щоб встановити підтримку memcached в php, запустити:

sudo apt встановити php-memcached

Python також має кілька бібліотек, які можуть працювати та взаємодіяти з сервером Memcached, наприклад pymemcached або python-memcached.

Ви можете встановити memcached для python, виконавши такі команди pip:

pip встановити pymemcache
pip встановити python-memcached

На завершення ми розглянули інсталяцію, конфігурацію та кілька мовних клієнтів Memcached в Ubuntu 20.04.

Щоб дізнатися більше про те, як використовувати Memcached, перегляньте Memcached Wiki.