¿Hay alguna diferencia entre llamar
systemctl reload nginx
y llamando
nginx -s reload
?
Sé que, además de systemd, hay otros sistemas init como SysV y Upstart. Entonces, tal vez esta pregunta también se aplica a ellos.
¿Es preferible emitir este comando a través del sistema init o simplemente puedo llamar a nginx?
Gracias por adelantado

serviceoinit.d, comosudo service nginx reloadRespuestas:
Puede averiguar qué
systemd reload nginxhará mirando laExecReload=opción en la[Service]sección en elnginx.servicearchivo de la unidad (ubicado en/usr/lib/systemd/system/nginx.servicemi sistema):O ejecutando:
En mi sistema, obtengo:
De
nginx(8):Así
systemctl reload nginxynginx -s reload, casi , haremos lo mismo.Las diferencias son:
systemctl reload nginxejecutará el comando en un entorno limpio (y no en el entorno del usuario actual);systemctl reloadfunciona para cualquier servicio que lo permita (que lo tiene configurado en el archivo de la unidad). No es necesario recordar los comandos específicos del servicio. Esto es aún más interesante si tiene varias instancias de un servicio.El uso
serviceo losinit.dscripts son formas heredadas / obsoletas de hacer lo mismo. Aunque podrían funcionar, ya no se admiten ni se recomiendan en un sistema basado en systemd.fuente
Actualmente hay una diferencia en Centos 7 y RHEL 7. El uso de systemctl reload nginx NO validará su configuración.
Consulte el siguiente error: https://bugzilla.redhat.com/show_bug.cgi?id=1565377
Por lo tanto, recomendaría usar nginx -s reload o actualizar su archivo de unidad nginx para usar el siguiente comando de recarga:
https://bugzilla.redhat.com/attachment.cgi?id=1419614&action=diff
fuente