Как да инсталирате Memcached на Ubuntu 20.04 LTS

Оптимизирайте производителността на вашата база данни, като използвате Memcached сървър с вашите PHP и Python приложения

Ако някога сте усещали болката от високото натоварване на базата данни, което причинява забавяне на вашите уеб приложения, и сте се чудили „Има ли начин да намалите латентността, причинена от DB заявки?“, тогава отговорът на този въпрос е голямо „да“. Memcached приятелски квартален кеш демон е тук, за да разреши всичките ви проблеми! Кеширането на DB е един от най-простите методи за облекчаване на натоварването на DB и ускоряване на динамичните уеб приложения.

Memcached се определя като високопроизводителна система за кеширане на обекти с разпределена памет, генерична по природа, но първоначално предназначена за използване при ускоряване на динамични уеб приложения чрез облекчаване на натоварването на базата данни. Разработено от Брад Фицпатрик за неговия уебсайт LiveJournal през 2003 г.

В тази статия ще разгледаме как да инсталирате и конфигурирате Memcached в Ubuntu 20.04 и ще разгледаме неговите специфични за езика клиенти.

Предпоставки

Система, инсталирана с Ubuntu 20.04 с потребител с администраторски права, т.е sudo потребител.

Инсталация

Memcached е достъпен в официалното хранилище на Ubuntu 20.04, в допълнение към Memcached, ние също ще инсталираме CLI инструмент, известен като libmemcached-инструменти за управление на Memcached. Просто изпълнете следната команда, за да инсталирате и двете

sudo apt инсталирайте memcached libmemcached-tools

Проверете инсталацията

След като инсталацията приключи, демонът Memcached стартира на заден план сам. За да проверим инсталацията, можем да използваме команда от libmemcached-инструменти пакет, за да получите статистика на Memcached сървъра. Или бягай

memcstat --сървъри локален хост

или

memcstat --сървъри 127.0.0.1

В memcstat командата показва статистиката на работещия сървър. Горната команда ще доведе до изход, показан по-долу.

Различни статистики като време на работа за секунди, версия и pid ще се покаже като изход. Въпреки това, ако не се покаже изход, е възможно Memcached да не работи. Следователно, трябва да изпълните следната команда, за да стартирате сървъра Memcached.

sudo systemctl стартирайте memcached

За да стартирате Memcached сървър при стартиране на системата, използвайте следната команда.

sudo systemctl активира memcached

Конфигуриране на Memcached

Ако вашият memcached е инсталиран на самия сървър на уебсайта, няма нужда да променяте конфигурационния файл, тъй като memcached е предварително конфигуриран да работи с localhost.

От друга страна, ако сте инсталирали Memcached на отделна система, ще трябва да промените конфигурацията, за да позволите на отдалечения сървър достъп до Memcached сървър.

Настройка на отдалечен достъп за Memcached сървър

Memcached е уязвим към DDoS (разпределен отказ на услуга) атаки. Неправилното правило за защитната стена и отворените UDP портове ще оставят сървъра ви отворен и уязвим за DDoS атаки.

За да смекчим риска, можем или да деактивираме UDP протокола за Memcached в конфигурация, или да настроим защитна стена само, за да разрешим доверени сървъри.

Извън кутията Ubuntu се доставя без отворени TCP или UDP портове. Освен това демонът на защитната стена ufw (неусложнена защитна стена) не е активирана по подразбиране.

Ще активираме защитната стена и ще настроим конфигурацията на Memcached, така че да смекчим DDoS уязвимостта.

Първо, активирайте ufw като изпълните следната команда:

sudo systemctl активиране на ufw

След това стартирайте ufw услуга, като изпълните командата по-долу:

sudo systemctl стартиране ufw

Когато защитната стена работи, най-накрая можем да настроим правилата на защитната стена. Първо, активирайте порт 22, за да разрешите SSH връзки. SSH е необходим за отдалечен достъп до желания сървър.

sudo ufw разреши 22

Второ, трябва да знаете IP адреса на клиента, който е хост на уеб приложение и IP адреса на сървъра, който е сървърът Memcached.

В този случай нека приемем, че IP адресът на клиента е 192.168.0.4 и Memcached IP сървъра да бъде 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

В memcached.conf конфигурационен файл ще се отвори с nano редактора, потърсете -l 127.0.0.1 ред в конфигурацията и сменете 127.0.0.1 с вашия Memcached сървър IP или в този случай 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.