Tutoriales

Comandos de Nginx en Linux: iniciar, detener, recargar, probar y registrar

Nginx es un servidor web de alto rendimiento y un proxy inverso en el que confían algunos de los sitios web más grandes de la web. Esta guía cubre los comandos que usará todos los días: iniciar y detener servicios, recargar configuraciones sin desconectarse, probar configuraciones antes de activarlas y leer registros cuando surjan problemas.

Estos comandos asumen root o sudo Acceda a distribuciones modernas de Linux que ejecutan Nginx como servicio systemd.

Comandos comunes de Nginx en Linux

Inicie Nginx:

bashsudo systemctl start nginx            # start the servicesudo systemctl enable nginx           # enable start on bootsudo systemctl enable --now nginx     # enable and start in one step

En sistemas sin systemd, use sudo service nginx start Como respaldo.

Detener Nginx Elimine todos los procesos de trabajo inmediatamente, incluso si la conexión aún está abierta. Para permitir la detención elegante de las solicitudes en curso que se completan primero, utilice nginx -s quit En su lugar (cubierto en la sección de señales a continuación):

bashsudo systemctl stop nginx

Reiniciar Nginx Cuando la recarga no aplica los cambios, por ejemplo, cuando modifica listen Opción a nivel de directiva o sistema:

bashsudo systemctl restart nginx

Recargar Nginx para la mayoría de los cambios de configuración. Carga la nueva configuración, inicia nuevos procesos de trabajo y cierra elegantemente los procesos de trabajo antiguos una vez que se completan sus conexiones activas; no se pierde ninguna conexión:

bashsudo systemctl reload nginx

Recargar es el comando correcto para casi cualquier cambio de configuración. Retroceda para reiniciar solo si la recarga no logra aplicar las actualizaciones.

Pruebe y verifique la configuración de Nginx

Pruebe siempre antes de recargar o reiniciar. Una configuración incorrecta impedirá que Nginx se inicie y puede desconectar su sitio web:

bashsudo nginx -t

Salida válida:

nginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf test is successful

Si la configuración está dañada, nginx -t Imprima archivos fallidos, números de línea y una breve descripción. Corrija el error y pruebe nuevamente antes de recargar.

Volcar la configuración válida completa y -T (capital). cuando nginx.conf Incluir archivos de conf.d/ o sites-enabled/es difícil ver qué hace realmente Nginx. -T Pruebe la configuración e imprima los resultados combinados completos:

bashsudo nginx -Tsudo nginx -T | grep server_name    # confirm a specific directive is active

notas: nginx -t generalmente requerido sudo. Lee el archivo de clave SSL y el fragmento de propiedad raíz. /etc/nginx/. Ejecutarlo no sudo Incluso si la configuración en sí funciona, a menudo falla con errores de permisos.

Utilice la señal nginx -s para controlar Nginx

Los archivos binarios de Nginx reciben señales de las siguientes maneras -s. Estos son útiles en sistemas sin systemd o cuando necesita un comportamiento no documentado por parte del administrador del servicio:

SeñalInfluencia
nginx -s reloadRecargar configuración (con systemctl reload nginx)
nginx -s stopParada rápida: El trabajador es despedido inmediatamente
nginx -s quitApagado elegante: el trabajador completa la solicitud de actividad antes de salir
nginx -s reopenCerrar y volver a abrir archivos de registro después de la rotación de registros

quit y stop: quit es elegante; stop Elimine las conexiones activas inmediatamente. usar nginx -s reopen Después de rotar el registro, sin él, Nginx continuará escribiendo el archivo antiguo renombrado en lugar del nuevo.

Verificar estado, versión y registros

Consultar estado del servicio:

bashsudo systemctl status nginx

este Active: Esta línea muestra si Nginx se está ejecutando. Debajo, puede ver el PID del proceso maestro y el PID del proceso de trabajo.

Verificar versión:

bashnginx -v    # version only: nginx/1.24.0 (Ubuntu)nginx -V    # version + all build flags, compiled modules, and OpenSSL version

-V (en mayúscula) es la forma más rápida de comprobar si un módulo específico es parte de una compilación de Nginx.

Registro de lectura:

bashsudo tail -f /var/log/nginx/error.log     # follow error log livesudo journalctl -u nginx                  # startup and service-level messagessudo journalctl -u nginx -n 50            # last 50 entries

escritura nginx /var/log/nginx/access.log y /var/log/nginx/error.log. Para fallas de inicio como «error en el trabajo nginx.service», el motivo aparece en journalctl -u nginx – No en el archivo de registro de Nginx.

usar nginx -t Antes de cada recarga, reload en lugar de restart Para cambios de configuración, nginx -T | grep Verificar que la directiva sea válida y journalctl -u nginx Cuando el servicio no se inicia. Si tiene algún problema, deje un comentario a continuación.

Publicaciones relacionadas

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Botón volver arriba