Как установить Memcached на Debian 12

Брэд Фитцпатрик разработал Memcached в 2003 году для сайта LiveJournal как мощную систему кэширования с открытым исходным кодом для повышения производительности динамических веб-приложений за счет снижения нагрузки на базу данных. С тех пор она стала жизненно необходимой для многих веб-сайтов и приложений с высокой посещаемостью. Прежде чем приступить к установке Memcached на Debian 12 Bookworm, Debian 11 Bullseye или Debian 10 Buster, давайте рассмотрим некоторые ключевые моменты, связанные с Memcached.

Ключевые особенности и преимущества:

  • Масштабируемость: Memcached, обрабатывающий миллионы операций в секунду, идеально подходит для крупномасштабных веб-приложений и служб.
  • Распределенное кэширование: благодаря архитектуре распределенного кэширования Memcached позволяет горизонтально масштабировать систему на нескольких серверах, увеличивая общую емкость кэша.
  • In-Memory Storage: Являясь хранилищем ключевых значений в памяти, Memcached обеспечивает быстрый доступ к кэшированным данным, значительно снижая задержки в дисковых системах хранения.
  • Простой API: Memcached предоставляет простой API, поддерживающий различные языки программирования, включая PHP, Python, Ruby и другие.
  • Истечение срока действия кэша: Система позволяет разработчикам задавать время истечения срока действия кэшированных данных, что способствует автоматическому удалению из кэша устаревших или неактуальных данных.
  • Легкий вес: При минимальной нагрузке на процессор и память Memcached эффективно работает на различных конфигурациях серверов, не отнимая при этом значительных системных ресурсов.
  • Гибкие типы данных: Благодаря поддержке различных типов данных, таких как строки, целые числа и сложные объекты, Memcached является универсальным решением для различных случаев использования.

В следующем руководстве мы рассмотрим процесс установки Memcached на Debian 12 Bookworm, Debian 11 Bullseye или Debian 10 Buster, используя либо стандартный репозиторий apt, либо вручную загрузив и скомпилировав последние исходные тексты. После установки в статье будут предложены важные советы и рекомендации по настройке, которые помогут вам оптимизировать установку Memcached.

Установка Memcached на Debian 12, 11 или 10 с помощью APT

В этом разделе мы установим Memcached на систему Debian Linux с помощью менеджера пакетов APT. Это включает в себя обновление системных пакетов и установку Memcached с помощью некоторых полезных инструментов.

Шаг 1: Обновление системы Debian перед установкой Memcached

Чтобы убедиться, что у вас есть последние версии пакетов и обновления безопасности, начните с обновления системы Debian. Выполните следующую команду:

sudo apt update && sudo apt upgrade

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

Шаг 2: Установка Memcached и Libmemcached-tools на Debian

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

sudo apt install memcached libmemcached-tools

Эта команда устанавливает как Memcached, так и пакет libmemcached-tools. Пакет libmemcached-tools предоставляет дополнительные утилиты командной строки, которые обеспечивают более широкие возможности взаимодействия и управления Memcached.

Установка Memcached на Debian 12, 11 или 10 из исходных текстов

В этом разделе рассматривается установка Memcached на систему Debian путём компиляции из исходного кода. Установка из исходных текстов может быть полезна, если вы хотите использовать последнюю версию Memcached или настроить сборку под конкретные требования.

Шаг 1: Загрузка исходного кода Memcached на Debian

Сначала посетите страницу последнего выпуска Memcached, чтобы найти текущую версию. Для непосредственной загрузки используйте следующую команду wget:

wget https://memcached.org/latest

Шаг 2. Распаковка архива с исходным кодом Memcached на Debian

Далее извлеките загруженный исходный код, выполнив следующую команду:

tar -xvf latest

Прежде чем продолжить, перейдите в распакованный каталог. Имя каталога зависит от загруженной версии:

cd memcached-{place version number here}

Замените {version_number} на фактический номер версии.

Шаг 3: Установка начальных пакетов, необходимых для компиляции Memcached

Перед компиляцией Memcached необходимо установить необходимые зависимости для сборки. Для их установки выполните следующую команду:

sudo apt install build-essential libevent-dev gcc make libc6-dev

Установленные пакеты служат для следующих целей:

  • gcc: Известный компилятор языка Си для исходных файлов Memcached.
  • make: Управляет компиляцией.
  • libc6-dev: Предоставляет ссылки на библиотеку GNU C и заголовочные файлы.
  • libevent-dev: Содержит файлы разработки для асинхронного уведомления о событиях.

Шаг 4: Настройка установки

С помощью параметра —prefix= задайте каталог, в который будут установлены бинарные файлы и библиотеки Memcached:

./configure --prefix=/usr/local

Шаг 5: Компиляция исходного кода Memcached на Debian

Скомпилируйте исходный код Memcached с помощью команды make:

make

Протестируйте Memcached, подтвердив текущую версию:

./memcached --version

Шаг 6. Установка Memcached на Debian с помощью команды ‘make install’

После завершения процесса компиляции установите Memcached, выполнив следующую команду:

sudo make install

Эта команда устанавливает Memcached на вашу систему, делая ее доступной из командной строки. Чтобы убедиться, что система распознала новые библиотеки, выполните следующее:

sudo ldconfig

Шаг 7: Проверка установки Memcached на Debian

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

memcached -V

Эта команда отобразит установленную версию Memcached, подтверждая успешную установку из исходного кода.

Шаг 8: Создание службы Systemd для Memcached на Debian

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

Создайте новый файл memcached.service в каталоге /etc/systemd/system с помощью текстового редактора. В данном примере мы будем использовать nano:

sudo nano /etc/systemd/system/memcached.service

Добавьте следующее содержимое в файл memcached.service:

[Unit]
Description=Memcached Service
After=network.target

[Service]
Type=simple
User=memcache
Group=memcache
ExecStart=/usr/local/bin/memcached /etc/memcached.conf
Restart=always

[Install]
WantedBy=multi-user.target

Сохраните файл и выйдите из текстового редактора.

Создайте пользователя и группу memcache для безопасного запуска службы:

sudo useradd -r -s /sbin/nologin -U -M memcache

Перезагрузите конфигурацию systemd для распознавания нового служебного файла:

sudo systemctl daemon-reload

Наконец, запустите сервис:

sudo systemctl enable memcached --now

Управление состоянием службы Memcached на Debian 12, 11 или 10

В этом разделе мы рассмотрим управление службой Memcached на вашей системе Debian. Сюда входит проверка статуса службы, запуск и остановка службы, а также настройка её запуска при загрузке системы.

Шаг 1: Проверка состояния службы Memcached

По умолчанию служба Memcached должна быть запущена после установки. Чтобы проверить его статус, используйте команду systemctl следующим образом:

systemctl status memcached

Эта команда отобразит текущее состояние службы Memcached.

Шаг 2: Запуск службы Memcached

Если служба Memcached не запущена, ее можно запустить с помощью следующей команды:

sudo systemctl start memcached

Шаг 3: Включение Memcached при загрузке системы

Для того чтобы служба Memcached автоматически запускалась при загрузке системы, выполните следующую команду:

sudo systemctl enable memcached

Шаг 4: Остановка службы Memcached

Если необходимо остановить службу Memcached, используйте эту команду:

sudo systemctl stop memcached

Шаг 5: Отключение Memcached при загрузке системы

Чтобы предотвратить автоматический запуск службы Memcached при загрузке системы, выполните следующую команду:

sudo systemctl disable memcached

Шаг 6: Перезапуск службы Memcached

Если необходимо перезапустить службу Memcached, например, после внесения изменений в конфигурацию, используйте данную команду:

sudo systemctl restart memcached

Шаг 7: Убедитесь, что Memcached прослушивает порт по умолчанию

И наконец, убедитесь, что Memcached активно прослушивает localhost, используя порт по умолчанию 11211. Для подтверждения этого выполните следующую команду:

ps -ef | grep memcached

В результате должна появиться строка, указывающая на то, что Memcached запущен и прослушивает указанный порт, как показано ниже:

memcache    5934       1  0 09:36 ?        00:00:00 /usr/bin/memcached -m 64 -p 11211 -u memcache -l 127.0.0.1 -P /var/run/memcached/memcached.pid
root        6591    3653  0 09:55 pts/0    00:00:00 grep memcached

Настройка Memcached на Debian 12, 11 или 10

В этом разделе мы рассмотрим настройку параметров Memcached путём редактирования файла memcached.conf. Мы обсудим настройку IP-адреса прослушивания, отключение UDP и изменение распределения памяти по умолчанию.

Шаг 1: Откройте файл конфигурации Memcached

Откройте файл конфигурации Memcached, расположенный по адресу /etc/memcached.conf, с помощью текстового редактора, например nano:

sudo nano /etc/memcached.conf

Пользователям, скомпилировавшим Memcached из исходных текстов, потребуется создать этот файл, чтобы при первом открытии он был пустым по сравнению с методом APT; вы можете скопировать его для начала настройки:

# Example memcached.conf file

# Start with a cap of 64 megs of memory. It's reasonable, and the daemon default
# Note that the daemon will grow to this size, but does not start out holding this much
# memory
-m 64

# Default port is 11211
-p 11211

# Run the daemon as a background process
-d

# Use syslog logging
-s

# Enable verbose logging
-vv

# Set the maximum number of simultaneous connections
-c 1024

Шаг 2: Настройка IP-адреса прослушивания

По умолчанию Memcached прослушивает IP-адрес 127.0.0.1. Проверьте параметр -l в конфигурационном файле и убедитесь, что он установлен на правильный IP-адрес. Если необходимо изменить IP-адрес, замените 127.0.0.1 новым IP-адресом:

-l 127.0.0.1

Шаг 3: Отключение UDP (необязательно)

Если поддержка UDP не требуется, рекомендуется отключить ее. Чтобы отключить UDP, добавьте в конфигурационный файл следующую строку:

-U 0

Шаг 4: Настройка распределения памяти

По умолчанию для Memcached выделяется 64 МБ памяти, что может оказаться недостаточным для крупных сайтов. Чтобы максимально эффективно использовать Memcached, следует изменить распределение памяти на более высокое значение.

Для настройки распределения памяти найдите в конфигурационном файле параметр -m и замените значение по умолчанию на требуемое количество (в МБ). Например, для выделения 2 ГБ памяти установите значение 2000:

-m 2000

Настройте этот параметр в соответствии с доступной памятью и требованиями вашего сервера.

Шаг 5: Сохранение и перезапуск Memcached

После внесения необходимых изменений сохраните конфигурационный файл, нажав CTRL+O, затем Y, а затем CTRL+X для выхода из текстового редактора. Наконец, перезапустите службу Memcached, чтобы изменения вступили в силу:

sudo systemctl restart memcached

Установка UFW Firewall для Memcached на Debian 12, 11 или 10

Для обеспечения безопасности вашего экземпляра Memcached очень важно правильно настроить правила брандмауэра. В этом разделе мы рассмотрим, как установить и настроить Uncomplicated Firewall (UFW) для обеспечения безопасности вашего сервера Memcached.

Шаг 1: Проверьте, установлен ли UFW в Debian

Сначала давайте проверим, установлен ли UFW на вашей системе Debian:

sudo ufw --version

Если UFW установлен, то в выводе вы увидите номер его версии. Если нет, то его необходимо установить.

Шаг 2. Установка UFW на Debian для работы с Memcached

Чтобы установить UFW на систему Debian, выполните следующую команду:

sudo apt install ufw

После завершения установки включите UFW с помощью следующей команды:

sudo ufw enable

Шаг 3: Настройка правил UFW для Memcached на Debian

Теперь, когда UFW установлен и включен, необходимо создать разрешающие правила для порта TCP 11211. Правила, которые вы создадите, будут зависеть от вашей установки и требований, будь то использование одного IP сетевого соединения или работа с несколькими экземплярами в кластерной сети.

Пример одиночного сетевого IP-подключения

Разрешить доступ к Memcached с определенного IP-адреса:

sudo ufw allow proto tcp from <ip_address> to any port 11211

Пример подключения к IP-сети кластера с несколькими экземплярами

Разрешить доступ к Memcached из подсети IP-адресов:

sudo ufw allow proto tcp from <ip_address>/24 to any port 11211

Обратите внимание, что второе правило UFW является правилом подсети. Прежде чем разрешить доступ, убедитесь, что внутренняя сеть безопасна и надежна.

Шаг 4: Проверка правил UFW

После настройки соответствующих правил проверьте правильность их конфигурации, перечислив текущие UFW-правила:

sudo ufw status

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

Установка библиотек Memcached на Debian 12, 11 или 10

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

Установка библиотек PHP для Memcached на Debian

Чтобы установить библиотеку PHP для Memcached, выполните следующую команду:

sudo apt install php-memcached libapache2-mod-php php php-cli

Настройка Memcached для Apache HTTP Server в Debian

Если вы используете HTTP-сервер Apache, включите модуль Memcached, выполнив следующую команду:

sudo phpenmod memcached && sudo systemctl restart apache2

Настройка Memcached для HTTP-сервера Nginx на Debian

Поддержка Memcached будет включена по умолчанию в вашем блоке конфигурации PHP после установки библиотеки PHP для пользователей Nginx.

Ниже приведен пример простого блока сервера nginx:

server {
    listen 80;
    server_name example.com;

    root /var/www/example.com;
    index index.php index.html index.htm;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ .php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/var/run/php/php7.4-fpm.sock;
    }

    location ~ /.ht {
        deny all;
    }
}

Установка библиотеки Python для Memcached в Debian

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

sudo apt install python3-pymemcache

Установка библиотеки Perl для Memcached в Debian

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

sudo apt install libcache-memcached-libmemcached-perl

Заключение

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

Поделитесь с друзьями

Добавить комментарий

0 комментариев
Новіші
Старіші Найпопулярніші
Вбудовані Відгуки
Переглянути всі коментарі
0
Ми любимо ваші думки, будь ласка, прокоментуйте.x