Слушай, 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» и маркетингового бреда.
0 комментариев