Hello! On Sun, Mar 21, 2021 at 05:44:34PM -0400, edo1 wrote:
> несколько раз возникала потребность посмотреть конфиг, с которым работает > nginx. > > подобные запросы находил на SO, так что актуально не только для меня, в > одном из вариантов ответа даже gdb приспособили: > https://serverfault.com/questions/361421/dump-nginx-config-from-running-process > > возможно ли сделать что-то вроде `nginx -T`, только выводящее конфиг с > которым сейчас работает nginx? как вариант, при запуске записывать > актуальный конфиг куда-нибудь в /run и обновлять после `nginx -s reload` Сейчас конфиг в исходном виде сохраняется в памяти, если nginx собран с --with-debug. Достать его при необходимости можно с помощью gdb и/или прямым поиском в памяти процесса. В общем случае исходный конфиг не сохраняется, и посмотреть его, соответственно, никак нельзя. В первую очередь потому, что конфиг может быть очень большим, особенно при использовании блоков map{} и geo{}, и хранение его "на всякий случай" - сомнительная трата ресурсов. Какого-либо хорошего решения я тут не вижу. Разве что хранить конфиг до какого-то разумного размера, а дальше переставать. Что до решения "записывать актуальный конфиг куда-нибудь в /run", то это, скорее, внешняя по отношению к nginx'у задача, решаемая скриптами запуска. Но закончится, думаю, как обычно: кто-то этот актуальный конфиг удалит или перепишет, и снова возникнет потребность посмотреть конфиг, с которым работает nginx. Вообще, судя по вопросу на serverfault, основная решаемая задача - "конфиг случайно промотался". Для её решения не нужен конфиг, с которым работает nginx, для её решения нужно не забывать бэкапиться. В случае конфигов - хорошо помогает хранение их хотя бы в локальном репозитории и коммиты после любых значимых изменений. -- Maxim Dounin http://mdounin.ru/ _______________________________________________ nginx-ru mailing list nginx-ru@nginx.org http://mailman.nginx.org/mailman/listinfo/nginx-ru