Установка memcached на Ubuntu
Что такое memcached и почему его стоит использовать
По умолчанию большую часть «временных» данных операционная система хранит в файлах на диске. Это достаточно медленно, даже если этот диск - современный SSD. Очевидный способ повысить производительность системы — «сбросить» временные файлы в оперативную память, ведь даже самая медленная память быстрее, чем самый быстрый диск. Наиболее часто это реализуется через использование memcached.
Подготовительный этап
Для установки безопасного кеширующего сервиса понадобится:
- Сервер под управлением Linux, например, Ubuntu 20.04
- Привилегированный доступ (root или принадлежность к группе sudo)
- Опционально – включенный файрволл
Установка «кешировщика» и сопутствующих инструментов
Процесс установки весьма прост. Достаточно:
- Авторизоваться как root, обновить пакетный кеш
sudo -s
apt-get update
- Установить собственно memcached и ряд сопутствующих утилит
apt-get install libmemcached-tools memcached -y
Конфигурирование сервиса
Memcached хранит свои настройки в файле /etc/memcached.conf. Наиболее интересными из них представляются:
-m # количество оперативной памяти, используемое для кеширования
-p # TCP-порт, который «слушает» служба
-U # включение UDP-порта (опционально)
-l # используемый IP-адрес, обычно 127.0.0.1 для локального применения или "внешний" IP-адрес, на который могут обратиться «сторонние» службы
-c # допустимое количество одновременных подключений
-S # эта опция нужна, если используется механизм авторизации (будет описано далее)
Чтобы принимать подключения, требуется внести изменения в настройки файрволла
ufw allow <ПОРТ>
Повышение безопасности
Если ваш сервер доступен для подключений извне, нелишним будет немного отредактировать конфигурацию сервиса с целью повысить безопасность. Шаги по «включению» механизма простой аутентификации по логину и паролю следующие:
- Установка одной строчкой
apt-get -y install sasl2-bin
- Редактирование настроек
mkdir /etc/sasl2; nano /etc/sasl2/memcached.conf
- Создание пароля и правка файловых разрешений. ВНИМАНИЕ: это не системная учетная запись, memcached использует свою собственную авторизацию
saslpasswd2 -c -f /etc/sasl2/memcached-sasldb2 -a memcached <ЛОГИН_MEMCACHED>
chown memcache:memcache /etc/sasl2/memcached-sasldb2
- Для применения сделанных изменений перезапустите сервис
service memcached restart
Проверка работы
Для проверки того, работает ли сервис кеширования, достаточно выполнить одну команду
memcstat --servers="<IP_СЕРВЕРА>" --username=<ПОЛЬЗОВАТЕЛЬ_MEMCACHED> --password=<ПАРОЛЬ_MEMCACHED>
Если все сделано правильно, в терминале будет видно примерно следующее:
Итоги
В этой инструкции объясняется, что такое кеширование, для чего оно используется, как установить кеширующий сервис и какие сделать настройки, чтобы повысить уровень безопасности.