🧱 Суть

В Nginx сайты обычно подключаются через символические ссылки:

/etc/nginx/sites-available/

/etc/nginx/sites-enabled/

sites-available хранит конфиги, а sites-enabled содержит активные ссылки на них.

Если ссылка ведёт на несуществующий файл – Nginx не сможет загрузить конфиг.

📦 Проблема

1. Битая символическая ссылка

Например:

/etc/nginx/sites-enabled/letunoff.ru

/etc/nginx/sites-available/letunoff.ru

Файла уже нет, но ссылка осталась.

2. Ошибка при проверке Nginx

nginx -t

Может появиться ошибка из-за отсутствующего конфига.

✅ Решение

Удалить старую ссылку и создать правильную.

💻 Код

Исправление ссылки

Удаление битой ссылки:

rm /etc/nginx/sites-enabled/letunoff.ru

Проверка активных сайтов:

ls -l /etc/nginx/sites-enabled/

Должны остаться только актуальные конфиги:

default
letunoff

Создание правильной ссылки:

ln -s /etc/nginx/sites-available/letunoff /etc/nginx/sites-enabled/

Проверка конфигурации:

nginx -t

Успешный результат:

nginx: configuration file /etc/nginx/nginx.conf test is successful

Перезапуск Nginx:

systemctl restart nginx

Важный момент

Nginx загружает только те конфиги, которые указаны через include:

Обычно:

include /etc/nginx/sites-enabled/*;

Поэтому важно:

  • имя файла в sites-available должно совпадать с ссылкой
  • в sites-enabled не должно быть старых ссылок
  • ссылка должна указывать на существующий файл

🎯 Вывод

  • sites-available → хранилище конфигураций
  • sites-enabled → активные конфиги через symlink
  • битая ссылка ломает проверку Nginx
  • исправление = удалить старую ссылку → создать новую → проверить конфиг

🔗 Связано