Trabajando en el servidor de un cliente donde hay dos versiones diferentes de nginx instaladas. Creo que uno de ellos se instaló con el administrador de paquetes brew (es una caja osx) y el otro parece haber sido compilado e instalado con el Makefile empaquetado nginx. Busqué todos los archivos nginx.conf en el servidor, pero ninguno de estos archivos define los parámetros que nginx está utilizando realmente cuando lo inicio en el servidor. ¿Dónde está el archivo nginx.conf que desconozco?
130
Tanto
nginx -t
ynginx -V
se imprimirá la ruta del archivo de configuración por defecto nginx.Si lo desea, puede obtener el archivo de configuración de la siguiente manera:
Incluso si ha cargado algún otro archivo de configuración, todavía imprimirán el valor predeterminado.
ps aux
le mostraría el archivo de configuración nginx cargado actual.Para que pueda obtener el archivo de configuración, por ejemplo:
fuente
le dará la ruta del nginx que se está utilizando
EDITAR (2017-Jan-18)
Gracias al comentario de Will Palmer sobre esta respuesta, he agregado lo siguiente ...
Si ha instalado nginx a través de un administrador de paquetes como HomeBrew ...
Es posible que no le proporcione la ruta EXACTA al nginx que se está utilizando. Sin embargo, puedes encontrarlo usando
y como lo mencionó @Daniel Li
puedes obtener la configuración de nginx a través de su método
alternativamente puedes usar esto:
fuente
which nginx
solo muestra la ruta predeterminada para nginx para el usuario actual (ni siquiera el usuario actual, el shell actual ). Definitivamente no muestra la ruta por la cual nginx "se está utilizando".Todas las demás respuestas son útiles, pero es posible que no lo ayuden en caso de
nginx
que no esté activado, porPATH
lo que obtienecommand not found
cuando intenta ejecutarnginx
:Tengo nginx 1.2.1 en Debian 7 Wheezy, el
nginx
ejecutable no está activado, porPATH
lo que necesitaba localizarlo primero. Ya estaba ejecutándose, así que usandops aux | grep nginx
descubrí que está ubicado/usr/sbin/nginx
, por lo tanto, necesitaba ejecutar/usr/sbin/nginx -t
.Si desea utilizar un archivo de configuración no predeterminada (es decir, no
/etc/nginx/nginx.conf
), ejecutarlo con el-c
parámetro:/usr/sbin/nginx -c <path-to-configuration> -t
.También es posible que deba ejecutarlo
root
, de lo contrario, nginx puede no tener permisos para abrir, por ejemplo, registros, por lo que el comando fallará.fuente
Además de la respuesta de @Daniel Li, la instalación de nginx con Valet también usaría la configuración de Velet, esto se encuentra en "/usr/local/etc/nginx/valet/valet.conf". El archivo nginx.conf habría importado este archivo conf de Valet. La configuración que necesita puede estar en el archivo Valet.
fuente