Диагностика Linux: от симптома к причине
В Linux важно сначала сохранить факты, а уже потом перезапускать сервис. Формулировка «сайт не открывается» слишком общая. Полезнее записать: «Nginx отвечает 502 с 14:20, сам Nginx запущен, приложение на 127.0.0.1:3000 не слушает порт».
- Сверьте время и часовой пояс: неверное время ломает сертификаты, журналы и авторизацию.
- Посмотрите среднюю нагрузку и доступную память, но не делайте вывод только по одному числу.
- Проверьте заполнение дисков и inode: сервис может остановиться даже при наличии гигабайтов, если закончились inode.
- Запишите, на каком разделе находятся данные проблемного сервиса.
Пример: каталог /var заполнен на 100%, поэтому база данных не может создать временный файл. Перезапуск базы ничего не исправит: сначала нужно найти причину роста, освободить место безопасным способом и проверить целостность сервиса.
- Сопоставьте время ошибки приложения с журналом systemd.
- Проверьте зависимости сервиса и порт, который он должен слушать.
- Если процесс завершается, сохраните код выхода и последние строки журнала.
Пример: имя сайта не разрешается, но подключение к IP проходит. Это указывает на DNS, а не на «отсутствие интернета». Сначала сравните DNS-серверы и результат запроса, не меняя сразу сетевой конфиг.
- Повторите исходную проверку с клиента и с самого сервера.
- Убедитесь, что сервис активен, порт слушается, а новые ошибки не появляются.
- Запишите причину, изменение, результат и команду отката.
Для Ubuntu используйте актуальные разделы Ubuntu Server documentation; параметры systemd сверяйте с официальными man-страницами systemd.