Сайт на своём сервере не открывается: как проверить nginx или Apache, найти ошибку в настройках и частые причины.
Сайт на сервере перестал открываться, а systemctl restart не помогает. Идите по шагам — обычно причина находится на втором-третьем.
1. Посмотрите статус
systemctl status nginx
Для Apache — apache2 в Ubuntu и Debian, httpd в AlmaLinux. В выводе есть последние строки журнала — часто ошибка видна уже здесь. Подробнее: journalctl -u nginx -n 50.
2. Проверьте настройки
sudo nginx -t # nginx
sudo apachectl configtest # Apache
Если после правки закралась ошибка, команда покажет файл и номер строки. Исправьте, проверьте ещё раз и перезапустите.
3. Загляните в журнал ошибок
| nginx | /var/log/nginx/error.log |
| Apache в Ubuntu и Debian | /var/log/apache2/error.log |
| Apache в AlmaLinux | /var/log/httpd/error_log |
Последние строки: sudo tail -n 50 /var/log/nginx/error.log.
Частые причины
- «Address already in use». Порт 80 или 443 занят — часто nginx и Apache пытаются слушать один и тот же. Кто занял порт и как его освободить — в отдельной статье.
- Не найден сертификат или ключ. Проверьте пути в настройках и права на файлы.
- Кончилось место на диске. Проверьте:
df -h. Чаще всего место съедают журналы и старые копии. - SELinux в AlmaLinux не даёт веб-серверу читать файлы сайта или подключаться к приложению — как это исправить.
- Сервер работает, а снаружи сайт не открывается. Проверьте, что межсетевой экран пропускает порты 80 и 443, а домен указывает на IP-адрес сервера (проверка домена).

