Acabo de instalar nginx 1.9 en un servidor Debian 8. nginx funciona bien, cuando le digo que se ejecute, pero no parece cargar nginx automáticamente en el arranque.
He probado numerosos scripts de inicio recomendados en Internet, pero nada ha funcionado todavía. Así que ahora estoy tratando de averiguarlo con systemctl.
~$ systemctl status nginx
● nginx.service
Loaded: masked (/dev/null)
Active: inactive (dead)
~$ sudo systemctl try-restart nginx
Failed to try-restart nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
~$ sudo systemctl reload nginx
Failed to reload nginx.service: Unit nginx.service is masked.
Desafortunadamente, no sé qué significa "servicio enmascarado", y no sé por qué está enmascarado.
cuando corro
sudo nginx
El servidor funciona bien. Entonces, busqué desenmascarar el servicio nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok genial, ahora puedo comenzar nginx usando systemctl. Así que verifiqué si el reinicio cargaría nginx automáticamente. Pero no lo hace, y no tengo idea de a dónde ir desde aquí.
¿Puede alguien ayudarme a conseguir nginx se ejecuten automáticamente en el arranque?
systemctl enable nginx
...Respuestas:
Parece confundir las operaciones de habilitar, iniciar y enmascarar.
systemctl start
,systemctl stop
: inicia (detiene) la unidad en cuestión inmediatamente ;systemctl enable
,systemctl disable
: marca (desmarca) la unidad para el inicio automático en el momento del arranque (de una manera específica de la unidad, descrita en su[Install]
sección);systemctl mask
,systemctl unmask
: no permite (permite) todos y cualquier intento de iniciar la unidad en cuestión (ya sea manualmente o como una dependencia de cualquier otra unidad, incluidas las dependencias del objetivo de arranque predeterminado). Tenga en cuenta que el marcado para el inicio automático en systemd se implementa agregando una dependencia artificial del objetivo de inicio predeterminado a la unidad en cuestión, por lo que "máscara" también impide el inicio automático.Entonces, todas estas son operaciones distintas. De estos, tú quieres
systemctl enable
.Ref .: systemctl (1) .
Más: Lennart Poettering (2011-03-02). "Los tres niveles de apagado" . systemd para administradores . 0pointer.de.
fuente
systemctl enable
(nosystemctl start
) para hacer que algo comience en el arranque.Se corrigió el enlace en la respuesta aceptada para que redirija a la página correcta. Pero aquí hay un poco relevante:
donde se
/lib/systemd/system/nginx.service
ve algo así como:fuente
Aquí está lo que funcionó para mí: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Ignoré la mayor parte del documento, que era específico para compilar otras versiones, de nginx, y pasé a "Make it Autostart".
Seguí las instrucciones allí, y ahora cuando reinicio, nginx 1.9 se está ejecutando.
Definitivamente aprecio la ayuda y la comprensión de todos. ¡Gracias a todos!
fuente
a partir de recursos nginx https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
fuente