Повышение производительности сайта - установка Memcached на RHEL 9

Memcached – это программа кэширования объектов в распределенной памяти с открытым исходным кодом, которая позволяет улучшить и ускорить работу динамических веб-приложений за счет кэширования данных и объектов в памяти.

Memcached также используется для кэширования целых таблиц баз данных и запросов для повышения производительности базы данных Это единственная свободно распространяемая система кэширования, используемая многими крупными сайтами, такими как YouTube, Facebook, Twitter Reddit, Drupal, Zynga и др.

При неправильной настройке Memcached может подвергаться атакам типа «отказ в обслуживании». В этой статье мы расскажем, как установить и защитить сервер Memcached на дистрибутивах Linux на базе RHEL, таких как*Rocky Linux, AlmaLinux и Fedora.

Установка Memcached в Linux

Сначала обновите индекс локальных программных пакетов, а затем установите Memcached из официальных репозиториев с помощью следующих команд yum от имени администратора root.

yum update
yum install memcached

Далее мы установим libmemcached – клиентскую библиотеку, которая предлагает несколько инструментов для управления вашим сервером Memcached.

yum install libmemcached

Теперь Memcached должен быть установлен в вашей системе как служба, вместе с инструментами, которые необходимы для проверки его подключения. Теперь мы можем приступить к защите его конфигурационных параметров.

Защита параметров конфигурации Memcached

Чтобы убедиться, что установленный сервис Memcached прослушивает локальный интерфейс 127.0.0.1, мы изменим переменную OPTIONS в конфигурационном файле /etc/sysconfig/memcached.

vi /etc/sysconfig/memcached

Найдите переменную OPTIONS и добавьте -l 127.0.0.1,::1 в переменную OPTIONS. Эти параметры конфигурации защитят наш сервер от атак типа «отказ в обслуживании».

sudo nano /etc/sysconfig/memcached
PORT="11211"
USER="memcached"
MAXCONN="1024"
CACHESIZE="64"
OPTIONS="-l 127.0.0.1,::1"

Давайте обсудим каждый из вышеперечисленных параметров подробнее.

  • 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

Чтобы убедиться, что Memcached работает правильно, вы можете подключиться к нему с помощью команды telnet.

telnet localhost 11211

Если подключение прошло успешно, вы увидите подсказку, похожую на эту:

Установка PHP-расширения Memcached

Чтобы установить расширение Memcached PHP и интегрировать его с Perl, Python Apache и Nginx в системе Linux, вам нужно будет выполнить определенные шаги для каждого компонента.

Для PHP

yum install php-memcached

После установки вам может потребоваться перезапустить Apache, Nginx или PHP-FPM:

systemctl restart httpd   
systemctl restart nginx
systemctl restart php-fpm

Для Perl

yum install perl-Cache-Memcached

Для Python

yum install python3-memcached

После установки настройте свои приложения PHP, Perl или Python на использование Memcached для кэширования. Для этого необходимо изменить код приложения для подключения к серверу Memcached и хранения/получения кэшированных данных.

Заключение

В этой статье мы рассказали, как установить и защитить сервер Memcached для локального сетевого интерфейса, чтобы оптимизировать производительность динамических веб-приложений за счет снижения нагрузки на базу данных путем эффективного кэширования.

Если вы столкнулись с какими-либо проблемами во время установки, обратитесь за помощью в раздел комментариев ниже.

Зарубин Иван Эксперт по Linux и Windows

Парашютист со стажем. Много читаю и слушаю подкасты. Люблю посиделки у костра, песни под гитару и приближающиеся дедлайны. Люблю путешествовать.

Вдохновлен www.tecmint.com

Похожие статьи

Комментарии (0)