Je viens d'installer nginx 1.9 sur un serveur Debian 8. nginx fonctionne bien, quand je lui dis de s'exécuter, mais il ne semble pas charger nginx automatiquement au démarrage.
J'ai essayé de nombreux scripts d'initialisation recommandés sur Internet, mais rien n'a encore fonctionné. Alors maintenant, j'essaie de le comprendre avec 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.
Malheureusement, je ne sais pas ce que signifie "service masqué" et je ne sais pas pourquoi il est masqué.
quand je cours
sudo nginx
le serveur fonctionne très bien. Alors, j'ai cherché à démasquer le service nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok cool, maintenant je peux démarrer nginx en utilisant systemctl. J'ai donc vérifié si le redémarrage chargerait automatiquement nginx. Mais il ne le fait pas, et je ne sais pas où aller d'ici.
Quelqu'un peut-il m'aider à faire fonctionner nginx automatiquement au démarrage?
systemctl enable nginx
...Réponses:
Vous semblez confondre les opérations d'activation, de démarrage et de masquage.
systemctl start
,systemctl stop
: démarre (arrête) immédiatement l'unité en question ;systemctl enable
,systemctl disable
: marque (décocher) l'unité pour le démarrage automatique au démarrage (d'une manière spécifique à l'unité, décrite dans sa[Install]
section);systemctl mask
,systemctl unmask
: interdit (autorise) toutes les tentatives de démarrage de l'unité en question (manuellement ou en tant que dépendance de toute autre unité, y compris les dépendances de la cible de démarrage par défaut). Notez que le marquage pour le démarrage automatique dans systemd est implémenté en ajoutant une dépendance artificielle de la cible de démarrage par défaut à l'unité en question, donc "mask" interdit également le démarrage automatique.Ce sont donc toutes des opérations distinctes. De ceux-ci, vous voulez
systemctl enable
.Réf .: systemctl (1) .
Pour en savoir plus: Lennart Poettering (2011-03-02). "Les Trois Niveaux d'Off" . systemd pour les administrateurs . 0pointer.de.
la source
systemctl enable
(passystemctl start
) faire démarrer quelque chose au démarrage.Correction du lien dans la réponse acceptée afin qu'il redirige vers la bonne page. Mais voici un peu pertinent:
où
/lib/systemd/system/nginx.service
ressemble à quelque chose comme:la source
Voici ce qui a fonctionné pour moi: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
J'ai ignoré la plupart du document, qui était spécifique à la compilation d'autres versions de nginx, et je suis passé à "Make it Autostart".
J'ai suivi les instructions là-bas, et maintenant quand je redémarre, nginx 1.9 est en cours d'exécution.
J'apprécie vraiment l'aide et la perspicacité de chacun. Merci à tous!
la source
à partir des ressources nginx https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
la source