Как установить Memcached в Ubuntu 20.04 LTS

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

Если вы когда-либо испытывали боль от высокой нагрузки базы данных, вызывающей замедление работы ваших веб-приложений, и задавались вопросом: «Есть ли способ уменьшить задержку, вызванную запросами к БД?», То ответ на этот вопрос - большой да. Memcached - дружелюбный демон кеширования соседней памяти здесь, чтобы решить все ваши проблемы! Кэширование БД - один из простейших методов уменьшения нагрузки на БД и ускорения динамических веб-приложений.

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

В этой статье мы рассмотрим, как установить и настроить Memcached в Ubuntu 20.04, а также познакомимся с его языковыми клиентами.

Предпосылки

Система, установленная с Ubuntu 20.04 с пользователем с правами администратора, то есть судо Пользователь.

Установка

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

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

Проверить установку

После завершения установки демон Memcached запускается в фоновом режиме. Чтобы проверить установку, мы можем использовать команду из libmemcached-инструменты пакет для получения статистики сервера Memcached. Либо беги

memcstat --servers localhost

или

memcstat - серверы 127.0.0.1

В memcstat Команда показывает статистику запущенного сервера. Приведенная выше команда приведет к выводу, отображаемому ниже.

Различные характеристики, такие как время безотказной работы в секундах, версия и пид будет отображаться как результат. Однако, если выходные данные не отображаются, возможно, Memcached не запущен. Следовательно, вы должны выполнить следующую команду, чтобы запустить сервер Memcached.

sudo systemctl start 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 service, выполнив следующую команду:

sudo systemctl start ufw

Теперь, когда брандмауэр запущен, мы можем, наконец, настроить правила брандмауэра. Во-первых, включите порт 22, чтобы разрешить SSH-соединения. SSH необходим для удаленного доступа к желаемому серверу.

sudo ufw allow 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

В memcached.conf файл конфигурации откроется в редакторе nano, найдите -l 127.0.0.1 строку в конфигурации и замените 127.0.0.1 с IP-адресом вашего сервера Memcached или в этом случае 192.168.0.5.

После замены пресса ctrl + o чтобы записать в файл конфигурации и нажать Enter, нажать ctrl + x для выхода из нано.

Перезагрузите сервер Memcached и ufw брандмауэр, выполнив следующую команду.

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

На этом мы закончили установку и настройку сервера Memcached в Ubuntu 20.04.

Подключение к серверу Memcached

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

Итак, давайте посмотрим, как установить php и питон клиент для 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.