208.4 - Comandos clave: Nginx como servidor web y proxy inverso

Comandos de administración de Nginx

ComandoDescripción
nginx -tVerifica la sintaxis de la configuración
nginx -TVerifica la sintaxis y muestra la configuración completa
nginx -s reloadRecarga la configuración sin detener el servicio
nginx -s stopDetiene Nginx inmediatamente
nginx -s quitDetiene Nginx de forma ordenada (espera conexiones)
nginx -s reopenReabre los archivos de log
nginx -vMuestra la versión de Nginx
nginx -VMuestra la versión y las opciones de compilación
nginx -c /ruta/nginx.confInicia Nginx con un archivo de configuración alternativo

Directivas del contexto principal (main)

DirectivaEjemploDescripción
userwww-dataUsuario bajo el que se ejecutan los workers
worker_processesautoNúmero de procesos worker
pid/run/nginx.pidArchivo del PID del proceso maestro
error_log/var/log/nginx/error.logArchivo de log de errores global

Directivas del contexto events

DirectivaEjemploDescripción
worker_connections1024Conexiones simultáneas por worker
multi_acceptonAcepta múltiples conexiones a la vez

Directivas del contexto http/server

DirectivaEjemploDescripción
listen80 / 443 sslPuerto y opciones de escucha
server_namewww.ejemplo.comNombre del servidor virtual
root/var/www/htmlDirectorio raíz de documentos
indexindex.html index.phpArchivos índice predeterminados
error_page404 /404.htmlPágina de error personalizada
access_log/var/log/nginx/access.logArchivo de log de acceso
error_log/var/log/nginx/error.log warnLog de errores con nivel de detalle
sendfileonOptimiza la transferencia de archivos
keepalive_timeout65Tiempo de espera para keep-alive

Directivas de location y contenido

DirectivaEjemploDescripción
try_files$uri $uri/ =404Intenta servir archivos en orden
return301 https://$host$request_uriDevuelve un código de estado o redirección
rewrite^/old(.*)$ /new$1 permanentReescritura de URL
alias/ruta/alternativa/Ruta alternativa al sistema de archivos
internal(sin valor)Limita el acceso solo a peticiones internas

Directivas de proxy inverso

DirectivaEjemploDescripción
proxy_passhttp://127.0.0.1:8080Reenvía la petición al backend
proxy_set_headerHost $hostEstablece cabeceras hacia el backend
proxy_connect_timeout60sTimeout de conexión al backend
proxy_read_timeout60sTimeout de lectura del backend
upstream(bloque)Define grupo de servidores para balanceo

Métodos de balanceo en upstream

MétodoDescripción
(round-robin)Distribución secuencial (predeterminado)
least_connEnvía al servidor con menos conexiones activas
ip_hashMismo cliente siempre al mismo servidor
weight=NPeso relativo del servidor en el balanceo
backupServidor de respaldo, usado si los demás fallan
downMarca el servidor como inactivo

Modificadores de location

ModificadorDescripciónPrioridad
=Coincidencia exacta1 (mayor)
^~Prefijo preferente (detiene búsqueda de regex)2
~Expresión regular (sensible a mayúsculas)3
~*Expresión regular (insensible a mayúsculas)3
(ninguno)Prefijo normal4 (menor)

Archivos y directorios clave

RutaDescripción
/etc/nginx/nginx.confArchivo de configuración principal
/etc/nginx/sites-available/Sitios disponibles (Debian/Ubuntu)
/etc/nginx/sites-enabled/Sitios habilitados (Debian/Ubuntu)
/etc/nginx/conf.d/Configuraciones adicionales (Red Hat/CentOS)
/var/log/nginx/access.logLog de acceso predeterminado
/var/log/nginx/error.logLog de errores predeterminado