Memcached - это распределенная система кэширования объектов в памяти с открытым исходным кодом. Он в основном используется для ускорения динамических веб-приложений путем хранения фрагментов данных из результатов вызовов базы данных и рендеринга страниц.
В этом руководстве мы установим и защитим Memcached на Ubuntu 18.04.
Предпосылки
- Свежий сервер Vultr Ubuntu 18.04
- Учетная запись пользователя без полномочий root с
sudo
доступом
Установка Memcached
Сначала обновите систему:
sudo apt update && sudo apt upgrade -y
Далее установите официальный пакет Memcached; а также libmemcached-tools
, который предоставляет несколько утилит для работы с Memcached:
sudo apt install -y memcached libmemcached-tools
Memcached теперь будет установлен как сервис. Вы можете убедиться, что он работает, используя systemctl
:
sudo systemctl status memcached
Вывод будет выглядеть следующим образом:
memcached.service - memcached daemon
Loaded: loaded (/lib/systemd/system/memcached.service; enabled; vendor preset: enabled)
Active: active (running) since Sun 2018-12-16 14:59:06 IST; 3 weeks 4 days ago
Main PID: 3927 (memcached)
Tasks: 6
Memory: 2.2M
CPU: 2min 10.089s
CGroup: /system.slice/memcached.service
└─3927 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1
Настройка Memcached
Давайте свяжем Memcached с локальным интерфейсом, чтобы избежать потенциальных DDOS-атак. Откройте /etc/memcached.conf
файл в вашем любимом редакторе:
sudo vi /etc/memcached.conf
Найдите в файле следующую строку и убедитесь, что она не закомментирована:
-l 127.0.0.1
Если эта конфигурация более открыта, вы можете ограничить UDP
ее, добавив следующую строку в конец файла:
-U 0
Сохраните файл и выйдите.
Перезапустите Memcached, чтобы применить ваши изменения:
sudo systemctl restart memcached
Вы можете проверить, что Memcached связан только с локальным интерфейсом и прослушивает только TCP-соединения с помощью netstat:
sudo netstat -plunt
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
...
tcp 0 0 127.0.0.1:11211 0.0.0.0:* LISTEN 3927/memcached
...
Есть также несколько других опций, которые можно изменить в /etc/memcached.conf
конфигурации:
-m
: Ограничивает объем памяти, доступный для Memcached.
-p
: Указывает, какой порт Memcached должен прослушивать. Порт по умолчанию 11211
.
-u
: Указывает, с каким пользователем будет работать служба. По умолчанию служба будет работать как root
.
-c
: Ограничение количества одновременных подключений. По умолчанию это 1024
.
Проверка настроек Memcached
Теперь вы можете проверить настройку, используя memcstat
команду из libmemcached-tools
пакета:
memcstat --servers="localhost"
Вывод будет выглядеть следующим образом:
Server: localhost (11211)
pid: 3927
uptime: 2217682
time: 1547170226
version: 1.4.25
libevent: 2.0.21-stable
pointer_size: 64
rusage_user: 75.436000
rusage_system: 57.768000
curr_connections: 1
total_connections: 53082
...
Вывод
В этом руководстве мы рассказали, как установить и настроить Memcached и использовать memcstat
для получения статистики. libmemcached-tools
Пакет также входит несколько других утилит , которые могут помочь во взаимодействии с Memcached.