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-13 20:12:52 UTC; 2s ago
...
Вот и все, вы установили Memcached на свой сервер CentOS 8 и можете начать его использовать.
Настройка Memcached
Параметры Memcached можно настроить в /etc/sysconfig/memcached
. По умолчанию Memcached настроен на прослушивание только на локальном хосте.
Если клиент, подключающийся к серверу, также работает на том же хосте, вы не должны вносить никаких изменений.
Удаленный доступ
Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту 11211
Memcached только с IP-адреса клиента.
При неправильной настройке Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS).
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера Memcached — 192.168.100.20
, а IP-адрес клиента — 192.168.100.30
.
Первый шаг — отредактировать конфигурацию Memcached и настроить службу на прослушивание через частный сетевой интерфейс сервера:
Откройте файл конфигурации memcached
:
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS
добавьте IP-адрес сервера -l 192.168.100.20
. Это указывает Memcached на привязку только к указанному интерфейсу.
OPTIONS="-l 192.168.100.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.100.30/32 --permanent
sudo firewall-cmd --reload
Подключение к Memcached
Для подключения к серверу Memcached вам необходимо использовать клиент для конкретного языка.
PHP
Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress , Drupal или Magento , вам необходимо установить расширение php-pecl-memcached
:
sudo dnf install php-pecl-memcache
Python
Существует несколько библиотек Python для взаимодействия с memcached. Вы можете установить предпочитаемую библиотеку с помощью pip :
pip install pymemcache
pip install python-memcached
Выводы
Мы показали вам, как установить Memcached на CentOS 8. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.