
Memcached — это бесплатное высокопроизводительное хранилище данных типа «ключ-значение» в оперативной памяти с открытым исходным кодом. Memcached в основном используется в качестве системы кэширования для ускорения работы приложений путём кэширования различных объектов из результатов обращений к базе данных.
В этом руководстве мы объясним, как установить и настроить Memcached на CentOS 7.
Предпосылки
Прежде чем продолжить работу с этим руководством, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка Memcached
Пакеты Memcached включены в стандартные репозитории CentOS 7. Установка довольно проста: достаточно ввести следующую команду:
sudo yum install memcached libmemcached
Пакет libmemcached предоставляет несколько инструментов командной строки для управления сервером Memcached.
После завершения установки запустите и включите службу Memcached:
sudo systemctl start memcachedsudo systemctl enable memcached
Вот и все, на этом этапе Memcached установлен и запущен на вашем сервере CentOS 7.
Настройка Memcached
Memcached можно настроить, отредактировав файл /etc/sysconfig/memcached . По умолчанию Memcached настроен на прослушивание всех интерфейсов. В следующих разделах мы покажем, как настроить службу для локального и удалённого доступа.
При неправильной настройке Memcached может использоваться для проведения распределенной атаки типа «отказ в обслуживании» (DDoS).
Только локальный доступ
Если клиент, подключающийся к серверу, также работает на том же хосте, рекомендуется настроить службу Memcached на прослушивание только локального хоста.
Для этого откройте файл конфигурации memcached с помощью текстового редактора :
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS добавьте -l 127.0.0.1 . Это предписывает Memcached привязываться только к указанному интерфейсу.
/etc/sysconfig/memcached
OPTIONS = "-l 127.0.0.1"
Перезапустите службу Memcached, чтобы изменения вступили в силу:
sudo systemctl restart memcached
Удаленный доступ
Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту Memcached 11211 только с IP-адреса клиента.
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера Memcached — 192.168.100.20 , а IP-адрес клиента — 192.168.100.30 .
CentOS поставляется с инструментом настройки брандмауэра FirewallD . Приведённые ниже команды создадут новую зону с именем memcached , откроют порт 11211 и разрешат доступ только с клиентского IP-адреса.
sudo firewall-cmd --new-zone=memcached --permanentsudo firewall-cmd --zone=memcached --add-port=11211/udp --permanentsudo firewall-cmd --zone=memcached --add-port=11211/tcp --permanentsudo firewall-cmd --zone=memcached --add-source=192.168.100.30/32 --permanentsudo firewall-cmd --reload
После настройки брандмауэра следующим шагом будет редактирование конфигурации Memcached и настройка службы на прослушивание частного сетевого интерфейса сервера:
Откройте файл конфигурации memcached :
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS добавьте IP-адрес сервера -l 192.168.100.20 :
/etc/sysconfig/memcached
OPTIONS = "-l 192.168.100.20"
Сохраните файл и перезапустите службу Memcached:
sudo systemctl restart memcached
Подключение к Memcached
Для подключения к серверу Memcached вам необходимо использовать клиент, поддерживающий определенный язык.
PHP
Чтобы использовать Memcached в качестве кэширующей базы данных для вашего PHP- приложения, такого как WordPress , Drupal или Magento , вам необходимо установить расширение php-pecl-memcached :
sudo yum install php-pecl-memcache
Питон
Существует несколько библиотек Python для взаимодействия с Memcache. Вы можете установить нужную библиотеку с помощью pip :
pip install pymemcache
pip install python-memcached
Заключение
Вы узнали, как установить Memcached на сервер CentOS 7. Дополнительную информацию по этой теме можно найти на вики-странице Memcached .
Если у вас есть вопросы или пожелания, не стесняйтесь оставлять комментарии ниже.
centos memcached Не используете CentOS 7?
Выберите другую ОС: центос 8 дебиан 10 дебиан 9 убунту 18.04 убунту 20.04
Связанные руководства