Errore di installazione di Nginx in Ubuntu 16.04


58
: ~ $ sudo apt-get rimuovi nginx * && sudo apt-get installa nginx-full *

Lettura degli elenchi dei pacchetti ... Fine
Costruire l'albero delle dipendenze       
Lettura delle informazioni sullo stato ... Fatto

Dopo questa operazione, verranno utilizzati 5.579 kB di spazio su disco aggiuntivo.
Vuoi continuare? [Y / n] y
Ottieni: 1 http://in.archive.ubuntu.com/ubuntu xenial-updates / universe amd64 nginx-full-dbg amd64 1.10.0-0ubuntu0.16.04.1 [3.789 kB]
Prelevato 3.789 kB in 33s (112 kB / s)                                             
Selezione del pacchetto nginx-common precedentemente non selezionato.
(Lettura del database ... 189767 file e directory attualmente installati.)
Preparazione per decomprimere ... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
Disimballaggio di nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Selezione del pacchetto precedentemente non selezionato nginx-full.
Preparazione per decomprimere ... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Disimballaggio di nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Selezione del pacchetto precedentemente non selezionato nginx-full-dbg.
Preparazione per decomprimere ... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Disimballaggio di nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ...
Trigger di elaborazione per ufw (0.35-0ubuntu1) ...
Regole aggiornate per il profilo "Apache Full"
Regole aggiornate per il profilo "Nginx HTTP"

Trigger di elaborazione per systemd (229-4ubuntu4) ...
Trigger di elaborazione per ureadahead (0.100.0-19) ...
Trigger di elaborazione per man-db (2.7.5-1) ...
Impostazione di nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Configurazione di nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Il processo per nginx.service non è riuscito perché il processo di controllo è terminato con un codice di errore. Vedere "systemctl status nginx.service" e "journalctl -xe" per i dettagli.

invoke-rc.d: initscript nginx, azione "start" non riuscita.

dpkg: errore nell'elaborazione del pacchetto nginx-full (--configure):
 script post-installazione installato sottoprocesso ha restituito lo stato di uscita errore 1
dpkg: problemi di dipendenza impediscono la configurazione di nginx-full-dbg:
 nginx-full-dbg dipende da nginx-full (= 1.10.0-0ubuntu0.16.04.1); però:
  Il pacchetto nginx-full non è ancora configurato.

dpkg: errore nell'elaborazione del pacchetto nginx-full-dbg (--configure):

 problemi di dipendenza - lasciare non configurato
Nessun report apportato scritto perché il messaggio di errore indica che si tratta di un errore di follow-up da un errore precedente.

                          Si sono verificati errori durante l'elaborazione:
 nginx-pieno

 nginx-full-dbg

E: Il processo secondario / usr / bin / dpkg ha restituito un codice di errore (1)

Prova apt-get -f installsenza alcun pacchetto
Motte001,

già verificato, stesso errore !! Si prega di guardare:: ~ $ sudo apt-get -f install nginx-full-dbg dipende da nginx-full (= 1.10.0-0ubuntu0.16.04.1); comunque: Il pacchetto nginx-full non è ancora configurato. dpkg: pacchetto di elaborazione degli errori nginx-full-dbg (--configure): problemi di dipendenza - lasciare non configurati Si sono verificati errori durante l'elaborazione: nginx-full nginx-full-dbg E: Il processo secondario / usr / bin / dpkg ha restituito un codice di errore (1)
Mohit,

1
Apache è installato e in esecuzione sulla porta 80 prima di installare nginx? Modificare la tua domanda per includere l'output di systemctl -l status nginxcosì
Thomas Ward

Hai installato anche una versione diversa di nginx? Vedo che hai eseguito un'attività di rimozione, ma se le configurazioni precedenti sono ancora in giro potrebbero interrompere l'installazione se hanno comandi obsoleti o simili inclusi.
Thomas Ward

See "systemctl status nginx.service" and "journalctl -xe" for details.- Per favore, puoi farlo e includere l'output nella tua domanda?
David Foerster,

Risposte:


140

La chiusura di apache2 prima dell'installazione di nginx dovrebbe risolvere questo problema:

sudo service apache2 stop

3
Benvenuto in Ask Ubuntu! Raccomando di modificare questa risposta per espanderla con dettagli specifici su come eseguire questa operazione. (Vedi anche Come posso scrivere una buona risposta? Per consigli generali su quali tipi di risposte sono considerate più preziose su Ask Ubuntu.)
David Foerster

Questo mi ha dato il suggerimento di cui avevo bisogno. Nel mio caso stavo usando un contenitore docker che esegue un altro server nginx
mithril_knight,

Ho colpito la stessa cosa, ma trovando il colpevole con netstat -tulpn | grep :80, nel mio caso era Varnish configurato per l'ascolto sulla porta 80. systemctl stop varnish, quindi installando Nginx, l'ho risolto per me. Perché i pacchetti Debian / Ubuntu provano ad avviarsi all'installazione è al di là di me ... Preferirei installarlo, configurarlo come mi piace, quindi avviarlo: P
geerlingguy,

È strano che NGINX non controlli questo nel proprio programma di installazione e almeno fornisca un messaggio più utile. Apache è molto comunemente installato su sistemi Linux.
machineghost,

28

Andrew Chan mi ha fornito la risposta giusta. Per estendere un po 'la sua risposta, ecco cosa puoi fare dalla riga di comando;

ferma apache2

sudo systemctl stop apache2.service

impedire l'avvio di apache2 all'avvio

sudo systemctl disable apache2.service

Reinstalla nginx

sudo apt-get install nginx


1
Suggerirei di non disabilitare Apache2 all'avvio se ne hai bisogno - ci sono molti casi in cui non è necessario disabilitare Apache se finisci per configurarlo per l'ascolto su un'altra porta. Avendo fatto questo da solo, per alcune configurazioni, posso parlare per esperienza (faccio anche molto lavoro nel pacchetto nginx, che è da dove proviene questa esperienza)
Thomas Ward

7

Ho appena avuto questo problema, ma la soluzione era leggermente diversa.

Dopo aver risolto una semplice configurazione errata del sito, sono stato in grado di aggiornare nginx.

Controlla il log degli errori nginx :

sudo cat /var/log/nginx/error.log|less

Quindi riprovare:

sudo apt-get update;sudo apt-get upgrade

registra FTW, nel mio caso la porta 80 era già in uso che era la causa dell'errore
xliiv

6

Nel mio caso l'errore è che il server ha IPv6 disabilitato. Soluzione:

Modifica /etc/nginx/sites-enabled/defaulte commenta IPv6:

listen [::]:80 default_server;

Reinstalla nginx:

apt purge nginx
apt autoremove
apt install nginx

@DavidFoerster Con apt 1.0, è stato introdotto un nuovo binario che raccoglie molti dei comandi noti (sotto) che sono stati distribuiti tra apt-get, apt-cachee così via. Ad esempio, apt updateuguale apt-get update, apt search some-nameuguale apt-cache search some-namee così via. In alcuni casi, c'è stata una riformulazione, come apt full-upgradequella è uguale apt-get dist-upgrade. I vecchi binari e i loro comandi sono ancora disponibili anche per coloro che li adorano.
Henning Kockerbeck,

@HenningKockerbeck: Grazie. All'epoca non lo sapevo davvero e pensavo fosse un errore di battitura, ma nel frattempo mi sono educato.
David Foerster,

Ha funzionato per me, ma non posso implementarlo nei miei script di shell per la distribuzione di server, è ridicolmente rotonda ...
Menasheh,

1

Quando ho controllato /var/log/nginx/error.log ho visto che il programma di installazione non era in grado di aprire / var / cache / nginx / microcache

Un elenco di directory mostrava che non esisteva directory / var / cache / nginx, quindi l'ho creato e l'installazione è riuscita.


1

Nel mio caso è stato un file non configurato correttamente in / etc / nginx / siti-enabled / li ho nominati come file .old, ma non importa. Verranno letti e potrebbero impedire un'installazione corretta o l'avvio di tale servizio. Fai attenzione ai file in quella cartella e leggi attentamente il tuo output degli errori come descritto da @Taiger


0

Prima dell'installazione rimuovere eventuali collegamenti simbolici aggiunti manualmente da /sites-enabled.


0

Nel mio caso nulla ha aiutato affatto, tranne questo:

sudo fuser -k 80/tcp

service nginx start
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.