Работа на клиентском сервере, где установлены две разные версии nginx. Я думаю, что один из них был установлен с менеджером пакетов brew (его osx-бокс), а другой, похоже, был скомпилирован и установлен с пакетом Makefile nginx. Я искал все файлы nginx.conf на сервере, но ни один из этих файлов не определяет параметры, которые nginx фактически использует, когда я запускаю его на сервере. Где находится файл nginx.conf, о котором я не знаю?
Найдите файл nginx.conf, мой nginx на самом деле использует
Ответ 1
Запуск nginx -t
через вашу командную строку выдает тест и добавляет результат с файловой дорожкой в файл конфигурации (с сообщением об ошибке или успеху).
Ответ 2
% ps -o args -C nginx
COMMAND
build/sbin/nginx -c ../test.conf
Если nginx был запущен без опции -c
, вы можете использовать опцию -V
, чтобы узнать параметры конфигурации, которые были установлены для нестандартных значений. Среди них наиболее интересными для вас являются:
--prefix=PATH set installation prefix
--sbin-path=PATH set nginx binary pathname
--conf-path=PATH set nginx.conf pathname
Ответ 3
Оба nginx -t
и nginx -V
будут печатать путь к файлу конфигурации nginx по умолчанию.
$ nginx -t
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful
$ nginx -V
nginx version: nginx/1.11.1
built by gcc 4.9.2 (Debian 4.9.2-10)
built with OpenSSL 1.0.1k 8 Jan 2015
TLS SNI support enabled
configure arguments: --prefix=/etc/nginx --sbin-path=/usr/sbin/nginx --modules-path=/usr/lib/nginx/modules --conf-path=/etc/nginx/nginx.conf ...
Если вы хотите, вы можете получить файл конфигурации:
$ nginx -V 2>&1 | grep -o '\-\-conf-path=\(.*conf\)' | cut -d '=' -f2
/etc/nginx/nginx.conf
Даже если вы загрузили какой-либо другой файл конфигурации, они все равно распечатают значение по умолчанию.
ps aux
покажет вам текущий загруженный конфигурационный файл nginx.
$ ps aux
USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND
root 11 0.0 0.2 31720 2212 ? Ss Jul23 0:00 nginx: master process nginx -c /app/nginx.conf
Чтобы вы могли получить файл конфигурации, например:
$ ps aux | grep "[c]onf" | awk '{print $(NF)}'
/app/nginx.conf
Ответ 4
which nginx
предоставит вам путь используемого nginx
и, как упоминалось в @Daniel Li
вы можете получить конфигурацию nginx через свой метод
альтернативно вы можете использовать это:
nginx -V
Ответ 5
В дополнение к @Daniel Li ответ, установка nginx с Valet также будет использовать конфигурацию Velet, это можно найти в "/usr/local/etc/nginx/valet/valet.conf". Файл nginx.conf импортировал бы этот файл conf. Необходимые настройки могут быть в файле Valet.