Как установить memcached на ubuntu

Обновлено: 02.07.2024

Memchached - это популярный сервер кэширования данных в оперативной памяти. С помощью него можно существенно увеличить производительность различных веб-приложений. Сам по себе Memcached позволяет только сохранять пары ключ-значение в памяти и быстро получать к ним доступ. Обычно Memcached используется вместе с каким-либо языком программирования. Например с Php, Python или серверным JavaScript.

Также сервис может использоваться для кэширования различных объектов веб-серверами, такими, как Apache или Nginx. В этой статье мы разберём установку Memcached в Ubuntu 18.04, а также основные настройки программы.

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

1. Установка сервиса

Сама по себе установка Memcached не вызовет проблем. Вам достаточно выполнить такую команду:

sudo apt install memcached libmemcached-tools


Вместе с самим сервисом мы устанавливаем набор дополнительных утилит для более простого управления Memcached. На этом установка завершена.

2. Настройка Memcached

Настройка Memcached Ubuntu выполняется через файл /etc/memcahced.conf. В этом файле содержаться опции, которые будут переданы сервису при запуске:

  • -d - работать в режиме сервиса;
  • -v - режим более подробного вывода информации;
  • -vv - ещё более подробный вывод информации;
  • -m - количество оперативной памяти, которую будет использовать сервис, рекомендую увеличить этот параметр, так как значения 64 мегабайта, установленных по умолчанию, будет мало;
  • -p - порт, на котором будет работать сервис;
  • -u - пользователь, от имени которого запущен сервис;
  • -l - IP-дрес, на котором Memcached будет ожидать соединения, лучше использовать 127.0.0.1, чтобы из внешней сети ни у кого не было доступа к вашим данным;
  • -с - количество одновременных подключений;
  • -P - путь к PID-файлу сервиса в файловой системе.

Таким образом, большинство опций можно оставить по умолчанию. Изменить нужно только объём оперативной памяти и IP-адрес.


3. Запуск сервиса

Даже если сервис был запущен по умолчанию, после изменения настроек его нужно перезапустить:

sudo systemctl restart memcached

Можно ещё убедиться, что Memcached работает именно на том IP и порте, которые нам нужны:


Затем вы можете посмотреть статистику использования сервиса командой:


Работать с Memcached мы можем уже сейчас. Для этого нужно использовать Telnet. Подключаемся к серверу:

telnet localhost 11211


Используйте команду stats, чтобы получить общую статистику, которую мы видели в выводе команды memcstat:


Для того, чтобы сохранить данные, используется команда add. У неё такой синтаксис:

add имя_ключа флаги время_хранения размер_данных
данные

Флаги - это целое число, которое хранится вместе с данными, и вместе с ними возвращается пользователю, можно просто оставить 0. Время хранения - это время в секундах, сколько будут хранится эти данные, 0 означает вечно. Размер данных в байтах определяет, сколько памяти будет задействовано под эти данные. Далее нужно нажать Enter и ввести данные, которые нужно сохранить. Например, сохраним строку memcached в ключе key навсегда:

add key 0 0 9
memcached


Получить значение сохранённого ключа можно командой get:


А удалить этот ключ командой delete:


А вот посмотреть список всех ключей в Telnet так просто не получится. Сначала нужно посмотреть список хранилищ:

А затем командой stats cachedump можно вывести список ключей хранилища. Первый параметр - это идентификатор хранилища, а второй - лимит ключей для вывода:

stats cachedump 1 100

Для выхода наберите команду quit. С помощью команды memcdump вы можете вывести список всех сохраненных ключей:


А с помощью memccat можно вывести значение нужного ключа:

memccat key --servers=127.0.0.1


Но все эти возможности используются только для отладки. Для реального хранения данных используются клиенты memcached для разных языков программирования. Их очень просто установить. Давайте рассмотрим это на примере Php.

4. Настройка Memcached и Php

Давайте рассмотрим настройку библиотеки Memcached для Php. Чтобы её установить, выполните:

sudo apt install php-memcached


Затем перезапустите apache, если хотите использовать модуль на веб-сервере:

sudo systemctl restart apache2

Далее вы можете убедится, что модуль активирован, вызвав функцию phpinfo():


Выводы

В этой статье мы разобрали, как выполняется установка Memcached Ubuntu, а также как использовать этот сервис для кэширования данных из командной строки или в PHP. Не забудьте убедиться, что сервис слушает подключения только на локальном IP- адресе, поскольку здесь нет аутентификации, и к вашим данным смогут получить доступ другие пользователи. Также это может быть небезопасным из-за того, что в Memcached были найдены уязвимости, которые позволяют осуществлять атаку типа отказ в обслуживании.

Нет похожих записей


Статья распространяется под лицензией Creative Commons ShareAlike 4.0 при копировании материала ссылка на источник обязательна.

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

Memcached - это бесплатное высокопроизводительное хранилище данных типа "ключ-значение" в памяти с открытым исходным кодом. Чаще всего он используется для ускорения работы приложений путем кэширования различных объектов из результатов вызовов базы данных.

Прежде чем вы приступите

Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .

Установка Memcached

Пакеты Memcached включены в репозитории Ubuntu 18.04 по умолчанию. Установка довольно проста, просто выполните следующие действия:

Начните с обновления списка пакетов apt:

Установите Memcached, набрав:

libmemcached-tools Пакет предоставляет несколько инструментов командной строки для управления Memcached сервером.

После завершения установки служба Memcached запустится автоматически. Чтобы проверить статус службы, введите следующую команду:


Результат будет выглядеть так:


Вот и все, на данный момент у вас установлен и запущен Memcached на вашем сервере Ubuntu 18.04.


Настройка Memcached

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

По умолчанию Memcached настроен на прослушивание только на локальном хосте. Если клиент, подключающийся к серверу, также работает на том же хосте, вам не нужно изменять файл конфигурации по умолчанию.


Удаленный доступ

При неправильной настройке Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS). Если вы хотите разрешить удаленный доступ к вашему серверу Memcached, вам необходимо настроить брандмауэр и разрешить доступ к UDP-порту 11211 Memcached только для доверенных клиентов.

В следующем примере предполагается, что вы хотите подключиться к своему серверу Memcached через частную сеть. 192.168.100.20 IP-адрес сервера и IP-адрес клиента 192.168.100.30

Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW. По умолчанию UFW установлен, но не включен. Перед включением брандмауэра UFW сначала добавьте правило, разрешающее входящие соединения SSH:


Разрешить оценку с IP-адреса удаленного клиента:


Включите UFW, набрав:


После того, как ваш брандмауэр настроен, следующим шагом будет редактирование конфигурации Memcached и установка службы Memcached для прослушивания интерфейса частной сети сервера:

Для этого откройте memcached.conf файл конфигурации:


Найдите строку, которая начинается с, -l 127.0.0.1 и замените 127.0.0.1 на IP-адрес сервера 192.168.100.20 .

Перезапустите службу Memcached, чтобы изменения вступили в силу:


Теперь вы можете подключиться к серверу Memcached из вашего удаленного местоположения.

Подключение к Memcached

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

Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress , Drupal , Joomla или Magento , вам необходимо установить php-memcached расширение:

Python

Есть несколько библиотек Python для взаимодействия с memcache. Вы можете установить предпочитаемую библиотеку с помощью pip :

Вывод

Вы узнали, как установить Memcached на свой сервер Ubuntu. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki

Установка и защита Memcached на Ubuntu 18.04

Кэширование - важная часть любого веб-проекта, потому что это напрямую влияет на время отклика сервера. Memcached - это утилита, которая позволяет кэшировать, хранить в оперативной памяти различные данные. Фактически это большая хэш-таблица, доступная по сетевому протоколу. Использование Memcached позволяет значительно увеличить скорость загрузки информации.

В этом руководстве будет рассказано о том, как установить и как защитить сервер с Memcached.

Требования

Перед тем, как приступить к выполнению дальнейших действий, убедитесь, что на вашем сервере установлена ОС Ubuntu 18.04 с файерволом, а также есть пользователь, который может выполнять команды sudo.

Шаг 1: установка Memcached из официальных репозиториев

Memcached можно установить из официальных репозиториев Ubuntu. Для этого сначала обновите локальный индекс пакетов:

А потом установите Memcached:

Можно сразу установить библиотеку libmemcached-tools, в которой есть несколько полезных инструментов для работы с сервером:

Установка Memcached выполнена, и теперь надо перейти к безопасности.

Шаг 2: защита настроек Memcached

Сначала надо проверить настройки в конфигурационном файле, который находится в /etc/memcached.conf. Откройте его в nano или другом редакторе:

Найдите вот эту строчку:

Это настройка по умолчанию, которую менять не нужно. Однако из соображений безопасности в конце файла можно добавить строчку, отключающую протокол UDP (но не влияющую на работу протокола TCP):

После этого сохраните и закройте файл.

Теперь сервис нужно перезапустить, чтобы изменения вступили в силу:

Убедиться в том, что Memcached слушает локальный интерфейс и TCP соединения, можно командой:

Вывод должен быть таким:

Шаг 3: добавление авторизованных пользователей

Для добавления авторизованных пользователей в Memcached можно использовать SASL (расшифровывается как Simple Authentication and Security Layer - простой уровень аутентификации и безопасности). Этот фреймворк позволяет разделить механизмы аутентификации от прикладных протоколов. К тому же он предоставляет слой защиты данных. Более подробно о нем можно прочитать в Википедии .

Настройка поддержки SASL

Сначала нужно использовать команду memcstat для того, чтобы проверить текущее состояние Memcached. В дальнейшем это позволит отследить изменения, которые будут внесены в конфигурационные файлы.

Вы должны увидеть вот такой вывод:

Теперь нужно открыть конфигурационный файл:

В конце файла добавьте -S для того, чтобы включить SASL:

И раскомментируйте строку -vv:

Это нужно для того, чтобы в /var/log/memcached формировался подробный отчет с предупреждениями, ошибками и другой важной информацией.

После этого сохраните и закройте файл.

Снова перезапустите Memcached:

Посмотрите логи, чтобы проверить, включен ли SASL:

Вы должны увидеть такую строку:

Еще раз введите команду:

Так как теперь включен SASL, команда не будет выполнена без аутентификации.

Добавление аутентификации пользователя

Далее нужно загрузить пакет sasl2-bin, в нем есть программы администрирования базы данных пользователей SASL.

Теперь создайте директорию и файл с настройками SASL для Memcached:

Добавьте в этот файл следующее:

Если в mech_list, то есть в списке механизмов прописан plain, это значит, что cервер будет проверять идентификатор аутентификации и пароль на соответствие своей базе и наличие у данного идентификатора аутентификации права на идентификатор авторизации. Это аутентификация посредством открытого текстового пароля; путь к файлу будет указан позже. Сохраните и закройте этот файл.

Следующий шаг - создание базы данных SASL с данными вашего пользователя. Команда saslpasswd2 используется для занесения паролей в БД; ключ -c используется для создания записи для указанного идентификатора, если она не существовала ранее. Ключ -f позволяет указать путь к базе данных.

Теперь нужно изменить права:

И перезапустить Memcached:

Снова введите команду memcstat, но на этот раз с указанными до этого данными:

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

В этой статье предполагается, что у вас есть хотя бы базовые знания Linux, вы знаете, как использовать оболочку, и, что наиболее важно, вы размещаете свой сайт на собственном VPS. Установка довольно проста и предполагает, что вы работаете с учетной записью root, в противном случае вам может потребоваться добавить sudo к командам для получения привилегий root. Я покажу вам пошаговую установку Memcached на сервере Ubuntu 20.04 LTS (Focal Fossa).

Установите Memcached на Ubuntu 20.04 LTS Focal Fossa

Шаг 1. Во-первых, убедитесь, что все ваши системные пакеты обновлены, выполнив следующие apt команды в терминале.

Шаг 2. Установка Memcached в Ubuntu 20.04.

Пакет Memcached включен в репозитории Ubuntu 20.04 по умолчанию. Выполните следующую команду, чтобы установить службу Memcached в вашей системе ubuntu:

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

Шаг 3. Конфигурация Memcached.

Параметры Memcached можно настроить в : /etc/ memcached . conf

Измените настройки, Пример настроек для кэширования 512 МБ:

Выйдите и сохраните файл конфигурации, а затем перезапустите Memcached:

Шаг 4. Настройте брандмауэр для Memcached.

Ubuntu поставляется с инструментом настройки брандмауэра под названием UFW . По умолчанию UFW установлен, но не включен. Перед включением брандмауэра UFW сначала добавьте правило, разрешающее входящие соединения SSH:

Поздравляю! Вы успешно установили Memcached . Благодарим за использование этого руководства по установке Memcached в системе Ubuntu 20.04 LTS Focal Fossa. Для получения дополнительной помощи или полезной информации мы рекомендуем вам посетить официальный сайт Memcached .

Читайте также: