Сайт не открывается: пошаговая диагностика на VPS
Когда сайт не открывается, не нужно сразу переписывать конфиги. Надёжнее идти по цепочке: DNS, доступность сервера, порты, nginx, firewall, файлы, backend и логи.
Проверьте, проблема в домене или сервере
Если сайт работает по IP, но не работает по домену, вероятна проблема DNS. Если не работает и по IP, нужно проверять сервер, порт и nginx.
dig A example.com
curl -I https://sysjournal.site/
Проверьте, слушается ли порт
Если nginx не слушает 80 или 443 порт, сайт не сможет принять соединение. Нужно понять, запущен ли nginx и не занят ли порт другим процессом.
ss -tulpn | grep -E ':80|:443'
systemctl status nginx --no-pager
Проверьте конфиг nginx
nginx -t
journalctl -u nginx --no-pager -n 80
Синтаксическая ошибка, неверный путь к файлу или дублирующий default_server могут полностью остановить nginx.
Проверьте firewall
Иногда nginx работает, но доступ снаружи заблокирован firewall. Нужно проверить UFW, nftables/iptables и панель провайдера, если у него есть внешний firewall.
ufw status verbose
403, 404, 500 и 502
- 403 — nginx не может читать файл или запрещён доступ;
- 404 — файл не найден или root указан неверно;
- 500 — ошибка backend-приложения;
- 502 — backend не отвечает nginx.
Проверьте диск и память
Заполненный диск часто ломает nginx, базы данных и приложения. Нехватка памяти может завершать процессы через OOM-killer.
df -h
free -h
systemctl --failed