Redis — это тот случай, когда в ИТ есть что-то действительно честное. Никаких «ORM», никаких «микросервисных паттернов». Просто в память грузится куча ключей, и ты их дёргаешь, пока оперативка не задымится.
Его пихают в проекты, чтобы ускорить запросы, держать сессии, хранить очереди или просто скрыть кривую базу за кэшем. И если всё пойдёт не так, Redis умирает мгновенно, а ты получаешь звонок от босса: «Почему всё лежит?»
Давай по-быстрому пройдёмся, как его поставить и настроить на Ubuntu 20.04, чтобы оно хотя бы стартануло и не устроило пожар.
1. Ставим Redis — без философии
Redis уже есть в репозиториях Ubuntu, так что никаких PPA, танцев с бубном или скачиваний с GitHub. Просто врубай:
sudo apt update
sudo apt install redis-server
Как только установится — он сам стартанёт. Можешь проверить, жив ли он:
sudo systemctl status redis-server
Если там «active (running)» — норм. Если нет, готовься читать логи и материться.
2. Локальный доступ — Redis по умолчанию параноик
Redis из коробки принимает подключения только с 127.0.0.1.
Если у тебя клиент крутится на том же сервере, это норм и трогать ничего не надо.
Но если надо дать доступ извне (и ты уверен, что хочешь открыть эту банку с червями), лезь в конфиг:
sudo nano /etc/redis/redis.conf
Ищи строку:
bind 127.0.0.1 ::1 Комментируй её или меняй на:
# bind 0.0.0.0 ::1
Сохраняешь, перезапускаешь:
sudo systemctl restart redis-server
Проверяешь, слушает ли он теперь всё подряд:
ss -an | grep 6379
Если там 0.0.0.0:6379 — да, он теперь открыт. Поздравляю, ты сделал его уязвимее.
3. Настрой firewall
Открыть Redis в интернет — это как оставить дверь квартиры настежь с запиской «ключи под ковриком». Поэтому впусти только тех, кому реально надо. Например:
sudo ufw allow proto tcp from 192.168.121.0/24 to any port 6379
Так ты разрешишь доступ только своей подсети. Всё остальное пошлёшь мимо.
4. Проверка боем
С удалённой машины пингуешь Redis:
redis-cli -h <REDIS_IP_ADDRESS> ping
Если он честно отвечает PONG — значит, всё работает. Если нет — проверяй firewall, конфиг и молись, чтобы это не было «iptables от админа, который уволился 5 лет назад».
Заключение
Redis — как старая добрая бейсбольная бита: полезен, пока не прилетит тебе же по голове. Ставится просто, но если открываешь его наружу, то сразу думай про безопасность.
И главное — не забудь, что он хранит всё в памяти. Память закончилась — Redis умер. Redis умер — умер твой проект. Всё просто.
0 комментариев