Memcached – это бесплатное высокопроизводительное хранилище данных ключа в памяти с открытым исходным кодом. Как правило, он используется в качестве системы кэширования для ускорения приложений путем кэширования различных объектов из результатов вызовов базы данных.
В этой статье показано, как установить и настроить Memcached на CentOS 8.
Установка Memcached на CentOS
Пакеты Memcached включены в стандартные репозитории CentOS 8. Установка довольно проста, введите следующую команду как root или пользователь с привилегиями sudo:
sudo dnf install memcached libmemcached
Пакет libmemcached предоставляет несколько инструментов командной строки для управления Memcached сервером.
После завершения установки включите и запустите службу Memcached, набрав:
sudo systemctl enable memcached --now
Чтобы убедиться, что memcached запущен, введите:
sudo systemctl status memcached
Вывод должен выглядеть примерно так:
● memcached.service - memcached daemon Loaded: loaded (/usr/lib/systemd/system/memcached.service; enabled; vendor preset: disabled) Active: active (running) since Mon 2020-04-16 14:34:22 UTC; 1s ago ...
Вот и все, вы установили Memcached на свой сервер CentOS 8 и можете начать его использовать.
Настройка Memcached
Параметры Memcached можно настроить в файле /etc/sysconfig/memcached. По умолчанию Memcached настроен на прослушивание только на локальном хосте.
Если клиент, подключающийся к серверу, также работает на том же хосте, вам не следует вносить никаких изменений.
Удаленный доступ
Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту 11211 только с IP-адреса клиента.
При неправильной настройке Memcached можно использовать для выполнения атаки распределенного отказа в обслуживании (DDoS).
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес 192.168.20.20 сервера Memcached есть , а IP-адрес клиента есть 192.168.20.30.
Первым шагом является редактирование конфигурации Memcached и настройка службы на прослушивание интерфейса частной сети сервера:
Откройте файл конфигурации memcached:
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS добавьте IP-адрес сервера -l 192.168.20.20. Это необходимо Memcached для привязки только к указанному интерфейсу.
OPTIONS="-l 192.168.20.20"
Сохраните файл и перезапустите службу Memcached, чтобы изменения вступили в силу:
sudo systemctl restart memcached
После настройки службы следующим шагом является открытие порта memcached в брандмауэре.
CentOS поставляется с инструментом настройки брандмауэра FirewallD. Приведенные ниже команды создадут новую зону с именем memcached, откроют порт 11211и разрешат доступ только с IP-адреса клиента.
sudo firewall-cmd --new-zone=memcached --permanent sudo firewall-cmd --zone=memcached --add-port=11211/udp --permanent sudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanent sudo firewall-cmd --zone=memcached --add-source=192.168.20.30/32 --permanent sudo firewall-cmd --reload
Подключение к Memcached
Для подключения к серверу Memcached вам необходимо использовать клиент для конкретного языка.
PHP
Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress, Drupal или Magento, вам необходимо установить расширение php-pecl-memcached:
sudo apt install php-pecl-memcache
Python
Существует несколько библиотек Python для взаимодействия с memcached. Вы можете установить предпочитаемую библиотеку, используя pip:
pip install pymemcache
pip install python-memcached
Заключение
Мы показали вам, как установить Memcached на CentOS 8. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki.
Если у вас есть какие-либо вопросы или пожелания, не стесняйтесь комментировать ниже.