Memcached — это бесплатное высокопроизводительное хранилище данных типа "ключ-значение" в памяти с открытым исходным кодом. Он в основном используется в качестве системы кэширования для ускорения приложений путем кэширования различных объектов из результатов вызовов базы данных.
В этом руководстве мы объясним, как установить и настроить Memcached в CentOS 7.
Содержание
Подготовка
Прежде чем продолжить это руководство, убедитесь, что вы вошли в систему как пользователь с привилегиями sudo .
Установка Memcached
Пакеты Memcached включены в репозитории CentOS 7 по умолчанию. Установка довольно проста, просто введите следующую команду:
sudo yum install memcached libmemcached
Пакет libmemcached
предоставляет несколько инструментов командной строки для управления сервером Memcached.
После завершения установки запустите и включите службу Memcached:
sudo systemctl start memcached
sudo systemctl enable memcached
Вот и все, на данный момент у вас установлен и запущен Memcached на вашем сервере CentOS 7.
Настройка Memcached
Memcached можно настроить, отредактировав файл /etc/sysconfig/memcached
. По умолчанию Memcached настроен на прослушивание на всех интерфейсах. В следующих разделах мы покажем вам, как настроить службу для локального и удаленного доступа.
При неправильной настройке Memcached может использоваться для выполнения распределенной атаки типа «отказ в обслуживании» (DDoS).
Только локальный доступ
Если клиент, подключающийся к серверу, также работает на том же хосте, рекомендуется настроить службу Memcached на прослушивание только localhost.
Для этого откройте файл конфигурации memcached
текстовом редакторе :
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS
добавьте -l 127.0.0.1
. Это указывает Memcached на привязку только к указанному интерфейсу.
OPTIONS="-l 127.0.0.1"
Перезапустите службу Memcached, чтобы изменения вступили в силу:
sudo systemctl restart memcached
Удаленный доступ
Если приложение, которое будет подключаться к Memcached, размещено на удаленном сервере, вам необходимо настроить брандмауэр и разрешить доступ к порту 11211 Memcached только с IP-адреса клиента.
В следующем примере предполагается, что вы хотите подключиться к серверу Memcached через частную сеть. IP-адрес сервера Memcached — 192.168.100.20
а IP-адрес клиента — 192.168.100.30
.
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
:
sudo nano /etc/sysconfig/memcached
В параметре OPTIONS
добавьте IP-адрес сервера -l 192.168.100.20
:
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
Есть несколько библиотек Python для взаимодействия с memcache. Вы можете установить предпочитаемую библиотеку с помощью pip :
pip install pymemcache
pip install python-memcached
Выводы
Вы узнали, как установить Memcached на свой сервер CentOS 7. Для получения дополнительной информации по этой теме обратитесь к Memcached Wiki .
Если у вас есть какие-либо вопросы или отзывы, не стесняйтесь оставлять комментарии ниже.