Memcached – это программа кеширования объектов с распределенной памятью с открытым исходным кодом, которая позволяет нам улучшать и ускорять производительность динамических веб-приложений, кэшируя данные и объекты в памяти.
Memcached также используется для кэширования целых таблиц базы данных и запросов для повышения производительности базы данных.
Это единственная система кеширования, доступная бесплатно и используемая многими крупными сайтами, такими как YouTube, Facebook, Twitter, Reddit, Drupal, Zynga и т. д.
Memcached может зафиксировать атаки отказа в обслуживании, если он не настроен правильно.
В этой статье мы расскажем, как установить и защитить ваш сервер Memcached в дистрибутиве CentOS 7 Linux.
Эти данные инструкции также работают на RHEL и Fedora Linux.
Установка Memcached в CentOS 7
Сначала обновите систему, а затем установите Memcached из официальных репозиториев CentOS, используя следующие команды yum.
# yum update # yum install memcached
Далее мы установим libmemcached – клиентскую библиотеку, которая предлагает несколько инструментов для управления вашим сервером Memcached.
# yum install libmemcached
Memcached теперь должен быть установлен в вашей системе CentOS как сервис вместе с инструментами, которые требуют от вас для проверки его подключения.
Теперь мы можем перейти к настройке параметров конфигурации.
Защита настроек конфигурации Memcached
Чтобы убедиться, что установленная служба Memcached прослушивает локальный интерфейс 127.0.0.1, мы изменим переменную OPTIONS в файле конфигурации /etc/sysconfig/memcached.
Дополнительно, чтобы защитить его параметры конфигурации.
# vi /etc/sysconfig/memcached
Найдите переменную OPTIONS и добавьте -l 127.0.0.1 -U 0 к переменной OPTIONS.
Эти параметры конфигурации защитят наш сервер от атак типа «отказ в обслуживании».
PORT="11211" USER="memcached" MAXCONN="1024" CACHESIZE="64" OPTIONS="-l 127.0.0.1 -U 0"
Давайте обсудим каждый из вышеперечисленных параметров в деталях.
- PORT: порт, используемый Memcached для запуска.
- USER демон запуска службы Memcached.
- MAXCONN: значение, используемое для установки максимального количества одновременных подключений на 1024. Для загруженных веб-серверов вы можете увеличить любое число в зависимости от ваших требований.
- CACHESIZE: установите размер кэш-памяти на 2048. Для загруженных серверов вы можете увеличить до 4 ГБ.
- OPTIONS: Установите IP-адрес сервера, чтобы к нему могли подключаться веб-серверы Apache или Nginx.
Перезапустите и включите службу Memcached, чтобы применить изменения конфигурации.
# systemctl restart memcached # systemctl enable memcached
После запуска вы можете подтвердить, что ваша служба Memcached связана с локальным интерфейсом и прослушивает только TCP-соединения, используя следующую команду netstat.
# netstat -plunt
Вы также можете проверить статистику сервера, используя memcached-tool, как показано на рисунке.
# memcached-tool 127.0.0.1 stats
Теперь убедитесь, что вы разрешили доступ к серверу Memcached, открыв порт 11211 на брандмауэре, как показано на рисунке.
# firewall-cmd --permanent --zone=public --add-port=11211/tcp
Установите расширение Memcached PHP
Теперь установите расширение PHP для работы с демоном Memcached.
# yum install php-pecl-memcache
Установите Memcached Perl Library
Установите библиотеку Perl для Memcached.
# yum install perl-Cache-Memcached
Установите Memcached Python Library
Установите библиотеку Python для Memcached
# yum install python-memcached
Перезагрузите веб-сервер
Перезапустите сервис Apache или Nginx, чтобы отразить изменения.
# systemctl restart httpd # systemctl restart nginx
См. также