Problemy z instalacją pełnej wersji Nginx na Debianie 8

23

Mam pewne problemy z instalacją pakietu nginx pkg (pełny nginx) na Debianie Jessie

# apt-get install nginx-full
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following extra packages will be installed:
  nginx-common
Suggested packages:
  fcgiwrap nginx-doc
The following NEW packages will be installed:
  nginx-common nginx-full
0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 510 kB of archives.
After this operation, 1.271 kB of additional disk space will be used.
Do you want to continue? [Y/n] 
Get:1 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-common all 1.6.1-1 [83,6 kB]
Get:2 http://debian.c3sl.ufpr.br/debian/ jessie/main nginx-full amd64 1.6.1-1+b1 [427 kB]
Fetched 510 kB in 1s (266 kB/s)     
Selecting previously unselected package nginx-common.
(Reading database ... 170540 files and directories currently installed.)
Preparing to unpack .../nginx-common_1.6.1-1_all.deb ...
Unpacking nginx-common (1.6.1-1) ...
Selecting previously unselected package nginx-full.
Preparing to unpack .../nginx-full_1.6.1-1+b1_amd64.deb ...
Unpacking nginx-full (1.6.1-1+b1) ...
Processing triggers for man-db (2.6.7.1-1) ...
Setting up nginx-common (1.6.1-1) ...
Setting up nginx-full (1.6.1-1+b1) ...
Job for nginx.service failed. See 'systemctl status nginx.service' and 'journalctl -xn' for details.
invoke-rc.d: initscript nginx, action "start" failed.
dpkg: error processing package nginx-full (--configure):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 nginx-full
E: Sub-process /usr/bin/dpkg returned an error code (1)

# systemctl status nginx.service
nginx.service - A high performance web server and a reverse proxy server
   Loaded: loaded (/lib/systemd/system/nginx.service; enabled)
   Active: failed (Result: exit-code) since Sex 2014-09-05 11:39:46 BRT; 1s ago
  Process: 2972 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=1/FAILURE)

#journalctl -xn
No journal files were found.

Ktoś wie, jak to naprawić?

gnomex
źródło
1
Czy możesz dodać wynik „systemctl status nginx.service” i „journalctl -xn”
0x7c0
# systemctl status nginx.service jest dostępny, a journalctl -xn zwraca „Nie znaleziono plików dziennika”.
gnomex
Miałem ten sam problem, ponieważ najpierw zainstalowałem lighttpd. Byłoby wspaniale, gdyby nginx dostarczył lepszy komunikat o błędzie, chociaż @Shutupsquare: dla mnie ten wynik był bezużyteczny i nie pozwalał stwierdzić, że port jest już zablokowany ...
Chris

Odpowiedzi:

26

Podobny problem został zgłoszony w przypadku błędu Debian # 754407 . W końcu tylko port 80 został zajęty przez inny proces (Apache2). Czy to może być również twój przypadek?

Gheesh
źródło
Po przeczytaniu błędu, to naprawdę powinno zawieść bardziej wdzięcznie i informacyjnie. Przełączenie na inny port powinno być również możliwe, jeśli bieżący port jest w użyciu. Myślę, że postgresql robi coś takiego na przykład.
Faheem Mitha,
Błąd został naprawiony w wersji 1.6.1-2. Teraz wszystko działa idealnie
gnomex
@gnomex nope, 1.9.10-1 w Stretch i musiałem przestać apache2instalować nginx-full.
berbt
W moim przypadku Varnish używał portu 80, kiedy próbowałem zainstalować nginx dla 443. Dzięki za wskazówkę
NoChecksum
20

Zatrzymaj apache2

service apache2 stop

następnie zainstaluj nginx

apt-get install nginx

Świętuj to!

Kapanet
źródło
9

w moim przypadku straciłem

sudo apt-get remove nginx* --purge potem zainstalowałem nginx-common

sudo apt-get install nginx-common

potem zainstalowałem nginx

sudo apt-get install nginx

potem wpisałem ip w przeglądarce i działało

shahab kamali
źródło
1

Miałem ten sam problem. NIE mam Apache i nic innego nie blokowało mojego portu 80. NIE mogłem zainstalować nginx

sudo apt-get install nginx

ani z

sudo apt-get install nginx-common nginx-full

Po tygodniu natknąłem się na tego małego bloga: https://etc.banana.fish/?p=75

Na tym blogu rozwiązaniem jest:

  1. Zainstaluj nginx-common: sudo apt-get install nginx-common
  2. Usuń listen [::]:80 default_server;z / etc / nginx / sites-enabled / default (zrobiłem to przy użyciu użytkownika root)
  3. Dla pewności zrestartowałem serwer.
  4. Tylko dwa razy, zrobiłem to sudo apt-get updatei wtedy sudo apt-get upgrade.
  5. Teraz w końcu zadzwoniłem sudo apt-get install nginx-fulli zadziałało!

Afterwords mogłem zobaczyć ekran tytułowy nginx, kiedy wpisałem adres IP mojego zdalnego serwera!

ElectRocnic
źródło
0

w moim przypadku błąd polega na tym, że serwer ma wyłączoną IPv6. po prostu edytuj pliki konfiguracyjne nginx, aby naprawić (na przykład: / etc / nginx / sites-enabled / default) i zrestartuj demona nginx.

Massimo
źródło
0

Miałem ten sam problem. Rada na temat Apache nie była istotna, ponieważ aktywnie ją odinstalowałem podczas instalacji.

Okazuje się, że widziałem wynik konfliktu między plikiem konfiguracyjnym nginx /etc/nginx/nginx.confa skryptem serwisowym pod adresem /lib/systemd/system/nginx.service.

W szczególności skrypt usługi uruchamiał nginx z kilkoma opcjami, w tym daemon on:

$ cat /lib/systemd/system/nginx.service
...
[Service]
...
ExecStartPre=/usr/sbin/nginx -t -q -g 'daemon on; master_process on;'
ExecStart=/usr/sbin/nginx -g 'daemon on; master_process on;'
ExecReload=/usr/sbin/nginx -g 'daemon on; master_process on;' -s reload
...

Uruchomiłem /usr/sbin/nginx -g 'daemon on; master_process on;'bezpośrednio na terminalu i dostałem następujący błąd:

nginx: [emerg] "daemon" directive is duplicate in /etc/nginx/nginx.conf:1

Rzuciłem okiem /etc/nginx/nginx.confi znalazłem (w linii 1):

daemon off;

Komentowanie tego i działanie sudo apt-get -f installrozwiązało problem.

Phillip B Oldham
źródło
0

Napotykam ten problem, kiedy apt-get remove nginxi apt-get automove nginxpo nim ręcznie usuwam folder nginx. Kiedy apt-get install nginxznów się pojawia, ten problem się pojawia.

~# apt-get install  

nginx Czytanie list pakietów ... Gotowe Budowanie drzewa zależności Informacje o stanie odczytu ... Gotowe nginx jest już najnowszą wersją. 0 zaktualizowanych, 0 nowo zainstalowanych, 0 do usunięcia i 140 niezaktualizowanych. 2 nie w pełni zainstalowane lub usunięte. Po tej operacji zostanie wykorzystane 0 B dodatkowego miejsca na dysku. Czy chcesz kontynuować? [T / n] y Konfiguracja nginx-full (1.6.2-5 + deb8u4) ... Zadanie dla usługi nginx.service nie powiodło się. Aby uzyskać szczegółowe informacje, zobacz „systemctl status nginx.service” i „journalctl -xn”. invoke-rc.d: initscript nginx, działanie „start” nie powiodło się. dpkg: pakiet przetwarzania błędów nginx-full (--configure): zainstalowany podproces skrypt poinstalacyjny zwrócił błąd status wyjścia 1 dpkg: problemy z zależnościami uniemożliwiają konfigurację nginx: nginx zależy od nginx-full (> = 1.6.2-5 + deb8u4 ) | światło nginx (> = 1,6. 2–5 + deb8u4) | dodatki Nginx (> = 1.6.2-5 + deb8u4); jednak:
Pakiet nginx-full nie jest jeszcze skonfigurowany. Pakiet nginx-light nie jest zainstalowany. Pakiet dodatków nginx nie jest zainstalowany. nginx zależy od nginx-full (<< 1.6.2-5 + deb8u4.1 ~) | nginx-light (<< 1.6.2-5 + deb8u4.1 ~) | dodatki Nginx (<< 1.6.2-5 + deb8u4.1 ~); jednak: Pakiet nginx-full nie jest jeszcze skonfigurowany. Pakiet nginx-light nie jest zainstalowany.
Pakiet dodatków nginx nie jest zainstalowany.

dpkg: pakiet przetwarzania błędów nginx (--configure): problemy z zależnościami - pozostawienie nieskonfigurowanych Napotkano błędy podczas przetwarzania: nginx-full nginx E: Podproces / usr / bin / dpkg zwrócił kod błędu (1)

i

~# systemctl status nginx.service  

nginx.service - Wysokowydajny serwer WWW i odwrotny serwer proxy Załadowano: załadowano (/lib/systemd/system/nginx.service; włączony) Aktywny: nieudany (Wynik: kod wyjścia) od wtorku 2017-03-21 04: 35:29 EDT; 1min 33s temu
Proces: 19912 ExecStartPre = / usr / sbin / nginx -t -q -g demon włączony; master_process on; (kod = zakończony, status = 1 / AWARIA) Główny PID: 18408 (kod = zakończony, status = 0 / SUKCES)

21 marca 04:35:29 dayinhu nginx [19912]: nginx: [emerg] open () „/etc/nginx/nginx.conf” nie powiodło się (2: Brak takiego pliku lub katalogu) 21 marca 04:35:29 dayinhu nginx [19912]: nginx: plik konfiguracyjny /etc/nginx/nginx.conf test nie powiódł się 21 marca 04:35:29 dayinhu systemd [1]: nginx.service: proces kontroli zakończony, kod = status zakończony = 1 marca 21 04:35 : 29 dayinhu systemd [1]: Nie udało się uruchomić Wysokowydajny serwer WWW i odwrotny serwer proxy. 21 marca 04:35:29 dayinhu systemd [1]: Jednostka nginx.service weszła w stan awarii.

Mówi się, że nginx.conf przegrał, próbowałem wiele razy bez powodzenia.

W końcu naprawiłem,

apt-get purge nginx nginx-common nginx-full
apt-get install nginx
Kris Roofe
źródło
-2
  1. jeśli masz skype: przełącz port skype 80na443
  2. zatrzymaj usługę apache2
  3. zainstaluj nginx
  4. uruchom ponownie apache2
  5. apt-get update
m85000
źródło