Слушай, Memcached — это не очередной стартап-хайп. Это просто сервер памяти, который держит твои данные типа «ключ-значение», чтобы не дергать базу каждый раз, когда хочется показать список пользователей или последних постов. Проще говоря, хочешь скорость — учись им пользоваться, а не пялись на YouTube-уроки. Я покажу, как без цирка за пару минут поставить и настроить Memcached на Ubuntu 18.04, чтобы он реально работал.

Начало установки

Ubuntu 18.04, да? Пакеты для Memcached уже лежат в репозиториях, так что не нужно лазить по сомнительным PPA. Делаем так:

sudo apt update
sudo apt install memcached libmemcached-tools

libmemcached-tools — это не лишние фигни, а нормальные утилиты для админки Memcached через CLI. Ставишь — проверяешь:

sudo systemctl status memcached

Если статус зелёный — сервер живой, можно дальше не париться.

Настройка Memcached

По умолчанию Memcached слушает только localhost. Для домашних тестов этого хватает. Если хочешь, чтобы к нему подключались другие машины, нужно танцевать с брандмауэром.

Открой /etc/memcached.conf. Там есть строка:

-l 127.0.0.1 

Здесь 127.0.0.1 — это твой сервер слушает только локально. Если хочешь подключение из сети — меняешь на IP сервера в локальной сети:

-l 192.168.100.20 

Не забывай, Memcached — это не Fort Knox. Оставишь его слушать все интерфейсы — и у тебя через несколько минут DDoS на голову свалится. Поэтому брандмауэр обязательный.

Настройка UFW для удалённого доступа

Ubuntu умеет включать файрвол UFW. Сначала разреши SSH, чтобы не заблокировать себя:

sudo ufw allow 22

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

sudo ufw allow from 192.168.100.30 to any port 11211
sudo ufw enable
sudo ufw status

Теперь Memcached слушает только доверенный IP. Всё просто, без плясок с iptables на ночь.

Перезапуск после конфигурации

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

sudo systemctl restart memcached

Если что-то сломалось — смотри логи:

journalctl -u memcached -n 50

Это лучше, чем гадать, почему твой кэш не работает.

Подключение к Memcached

Memcached сам по себе без клиента — бесполезен. Вот как подключать к языкам.

sudo apt install php-memcached

Да, просто ставишь расширение и используешь его в своём приложении — WordPress, Drupal, Magento, Joomla — без плясок.

pip install pymemcache
pip install python-memcached

Выбираешь библиотеку, вешаешь её на проект — и дальше всё как с PHP.

  • Не держи Memcached доступным в интернете. Это как оставить дверь от гаража открытой и удивляться, что кто-то утащил всё.
  • Если кэш отказывается работать — сначала смотри конфиги, потом логи. Иначе будешь бегать по форумам вместо того, чтобы решать проблему.
  • Memcached не решает всех проблем с производительностью. Он лишь ускоряет обращение к базе. Не жди чудес от него, если твоя база устроена как свалка из JOIN’ов на миллионы строк.

Всё. Memcached поставлен, настроен, слушает доверенные интерфейсы, подключен к PHP/Python. Реальная работа без лекций, кнопочек «next» и маркетингового бреда.