❌

Normal view

Один VPS и пять сервисов: как поставить и когда расселять

Можно ли на один VPS поставить несколько сервисов? Можно, все так делают — у меня на личном VPS крутятся таск-трекер, бот в Telegram, пара пет-проектов и Grafana, чтобы за всем этим следить. Однако немногие знают, как это сделать правильно, поэтому рассказываю под катом. 

Читать

Лог пустой, а диск заканчивается: что logrotate делает с файлами, которые приложение не закрывает

Диск заполняется, хотя logrotate исправно запускается, а свежий лог остаётся пустым. Причина может скрываться в открытых файловых дескрипторах, настройках ротации или поведении самого приложения. Разбираем на практических примерах, как logrotate взаимодействует с процессами, почему при ротации теряются записи и откуда берутся гигабайты невидимых логов.

Разобрать logrotate

502 Bad Gateway: три причины и куда смотреть

В прошлой статье я рассказывал, как устроен мой тренажёр инцидентов изнутри. Сегодня покажу один кейс, седьмой, про 502 Bad Gateway. Он небольшой, но на нём хорошо видно, почему рестарт nginx почти никогда не помогает.

Вводная такая: ночью выкатили релиз, утром магазин отдаёт 502. При этом systemctl status nginx показывает active (running).

502 значит, что nginx запрос принял, передал дальше и нормального ответа не получил. То есть nginx тут свидетель, и начинать надо с его лога:

Читать далее

Агент с root на моём VPS: как не дать ему отрезать себе доступ

Агент только что поставил fail2ban и проверяет работу. Вход по ключу есть. По паролю нет, так и задумано. Ещё пара проверок для верности, и где-то на пятой неудачной попытке fail2ban банит IP, с которого всё это идёт. Агента. И вас заодно, потому что агент сидит на вашем ноутбуке.

Дальше все команды падают по таймауту, а вы ищете в панели провайдера веб-консоль.

В моём бенчмарке Claude Opus 5.5 без подсказок так банит сам себя в 7 прогонах из 60. Модель умная, просто ей никто не сказал, что свой IP надо добавить в ignoreip до первого запуска fail2ban.

Из таких мелочей и вырос vps-forge. Это открытый Agent Skill: инструкции и несколько bash-скриптов, которые Claude Code, Codex, Cursor и другие агенты подгружают, когда речь заходит о сервере. Расскажу про главную часть, автоматический откат, про грабли по дороге и про бенчмарк, включая неудобные цифры.

Читать далее

Перезапустил — и стало хуже: 5 инцидентов, которые не лечатся рестартом

Три часа ночи, API отвечает 500, и рука сама набирает systemctl restart. Иногда это помогает, но есть инциденты, где рестарт добивает то, что ещё работало, и стирает улики. Пять таких: битый конфиг, OOM killer, retry storm, CrashLoopBackOff и диск, забитый логом, — с командами, которые находят настоящую причину, и шпаргалкой на одну таблицу.

Читать далее

Мой сервер врал «готово» каждому новичку

Новичок открывает первый кейс, о котором я рассказывал в первой статье., читает брифинг, и через пять секунд сайт пишет: «Готово, жми „Начать“». Он жмёт и смотрит на пустое окно терминала. Секунд через десять там ошибка, страница сама перезагружает терминал, и только потом появляется консоль.

Сервер при этом не падал, CPU и память в норме, алерты молчат. Были только строчки в журнале, которые я чуть не записал в «обычный шум».

Читать далее
❌