Бессонное утро

Очень, слышите, очень плохая идея конфигурировать что-то в дефолтных конфигах в /etc.
Всю ночь кодил один свой проект. И под утро чего-то вдруг решил зайти на сервер и обновить там все. Давно не обновлял. Среди обновлений прилетел новый nginx. Ну и конечно же сайт после этого перестал работать. Главное, в логах совсем тишина, будто ничего и не было. Но вместо сайта отображалась пустая страница.
Много часов убил на поиск причины. И много чашек кофе. Пожалуй, самое печальное, что я уже не помню настройки своего сервера. Настраивал его когда-то очень давно и забыл порядком уже чего где крутил. Излазил весь гугл, скурпулезно сравнивая, вникая в конфигурацию. Нашел таки. Дело было всего в одной строчке, которая была вписана в основной конфигурационный файл, хранящийся в /etc/nginx. При обновлении пакета, пакетный менеджер просто затер эту строчку, заменив весь файл новой конфигурацией. Вот так. Такая маленькая заноза и столько много проблем.
Мораль сей басни такова, что свои конфиги надо держать отдельно от мастер-конфигов. Мест для этого полно. В дебиан есть каталоги conf.d например. Или, если настройка касается какого-то конкретного сайта, ее можно вписать в конфиг сайта, который положить в sites-available и сделать ссылку на файл в каталог sites-enabled. Не хотите седых волос — не трогайте мастер-конфиги.
🙂