Właśnie zainstalowałem nginx 1.9 na serwerze Debian 8. nginx działa dobrze, kiedy każę mu działać, ale wydaje się, że nie ładuje się automatycznie przy uruchamianiu.
Próbowałem wielu skryptów inicjujących zalecanych w Internecie, ale nic jeszcze nie działało. Więc teraz próbuję to rozgryźć przy pomocy 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.
Niestety nie wiem, co oznacza „usługa maskowana” i nie wiem, dlaczego jest maskowana.
kiedy biegnę
sudo nginx
serwer działa dobrze. Tak więc postanowiłem zdemaskować usługę nginx.
~$ sudo systemctl unmask nginx.service
Removed symlink /etc/systemd/system/nginx.service.
ok fajnie, teraz mogę uruchomić nginx za pomocą systemctl. Więc sprawdziłem, czy ponowne uruchomienie spowoduje automatyczne załadowanie nginx. Ale to się nie udaje i nie mam pojęcia, dokąd się udać.
Czy ktoś może mi pomóc uruchomić Nginx automatycznie podczas uruchamiania?
systemctl enable nginx
...Odpowiedzi:
Wydaje się, że mylisz włączanie, uruchamianie i maskowanie operacji.
systemctl start
,systemctl stop
: natychmiast uruchamia (zatrzymuje) dane urządzenie ;systemctl enable
,systemctl disable
: oznacza (odznacza) jednostkę do automatycznego uruchamiania w czasie uruchamiania (w sposób specyficzny dla jednostki, opisany w jej[Install]
rozdziale);systemctl mask
,systemctl unmask
: nie zezwala (zezwala) na wszelkie próby uruchomienia danej jednostki (ręcznie lub jako zależność dowolnej innej jednostki, w tym zależności od domyślnego celu rozruchu). Zauważ, że znakowanie dla autostartu w systemd jest realizowane przez dodanie sztucznej zależności od domyślnego celu rozruchu do danej jednostki, więc „maska” również uniemożliwia autostart.Tak więc wszystkie są odrębnymi operacjami. Z nich chcesz
systemctl enable
.Ref .: systemctl (1) .
Więcej informacji: Lennart Poettering (2011-03-02). „Trzy poziomy wyłączenia” . systemd dla administratorów . 0pointer.de.
źródło
systemctl enable
(niesystemctl start
), aby coś zaczęło się przy rozruchu.Naprawiono link w zaakceptowanej odpowiedzi, który przekierowuje na właściwą stronę. Ale tutaj jest odpowiedni kawałek:
gdzie
/lib/systemd/system/nginx.service
wygląda coś takiego:źródło
Oto, co dla mnie zadziałało: https://web.archive.org/web/20150328063215/https://longhandpixels.net/blog/2014/02/install-nginx-debian-ubuntu
Zignorowałem większość dokumentu, który był specyficzny dla kompilowania innych wersji nginx, i przeszedłem do „Make it Autostart”.
Postępowałem zgodnie ze wskazówkami, a teraz po ponownym uruchomieniu nginx 1.9 działa.
Doceniam wszystkim pomoc i wgląd. Dziękuję wam wszystkim!
źródło
z zasobów nginx https://www.nginx.com/resources/wiki/start/topics/examples/systemd/
źródło