Erreur d'installation de Nginx dans Ubuntu 16.04

58
: ~ $ sudo apt-get supprimer nginx * && sudo apt-get installer nginx-full *

Lire les listes de paquets ... Fait
Construire un arbre de dépendance       
Lecture des informations d'état ... Terminé

Après cette opération, 5 579 Ko d'espace disque supplémentaire seront utilisés.
Voulez-vous continuer? [Y / n] y
Obtenez: 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]
Obtenu 3,789 kB en 33s (112 kB / s)                                             
Sélection du paquet nginx-common précédemment non sélectionné.
(Lecture de la base de données ... 189767 fichiers et répertoires actuellement installés.)
Préparer le déballage ... / nginx-common_1.10.0-0ubuntu0.16.04.1_all.deb ...
Décompresser nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Sélection du paquet nginx-full précédemment non sélectionné.
Préparation de la décompression ... / nginx-full_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Déballage de nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Sélection du package précédemment non sélectionné nginx-full-dbg.
Préparation pour décompresser ... / nginx-full-dbg_1.10.0-0ubuntu0.16.04.1_amd64.deb ...
Décompresser nginx-full-dbg (1.10.0-0ubuntu0.16.04.1) ...
Traitement des déclencheurs pour ufw (0.35-0ubuntu1) ...
Règles mises à jour pour le profil 'Apache Full'
Règles mises à jour pour le profil 'Nginx HTTP'

Traitement des déclencheurs pour systemd (229-4ubuntu4) ...
Traitement des déclencheurs pour ureadahead (0.100.0-19) ...
Traitement des déclencheurs pour man-db (2.7.5-1) ...
Configuration de nginx-common (1.10.0-0ubuntu0.16.04.1) ...
Mise en place de nginx-full (1.10.0-0ubuntu0.16.04.1) ...
Le travail pour nginx.service a échoué car le processus de contrôle s'est terminé avec un code d'erreur. Voir "systemctl status nginx.service" et "journalctl -xe" pour plus de détails.

invoke-rc.d: initscript nginx, l'action "start" a échoué.

dpkg: package de traitement des erreurs nginx-full (--configure):
 le script de post-installation installé du sous-processus a renvoyé le statut de sortie d'erreur 1
dpkg: des problèmes de dépendance empêchent la configuration de nginx-full-dbg:
 nginx-full-dbg dépend de nginx-full (= 1.10.0-0ubuntu0.16.04.1); pourtant:
  Le paquet nginx-full n'est pas encore configuré.

dpkg: package de traitement des erreurs nginx-full-dbg (--configure):

 problèmes de dépendance - laisser non configuré
Aucun rapport de répartition écrit car le message d'erreur indique qu'il s'agit d'une erreur consécutive à un échec précédent.

                          Des erreurs ont été rencontrées lors du traitement:
 nginx-full

 nginx-full-dbg

E: Le sous-processus / usr / bin / dpkg a renvoyé un code d'erreur (1)
Mohit
la source
Essayez apt-get -f installsans forfait
Motte001
déjà vérifié, même erreur !! Veuillez regarder:: ~ $ sudo apt-get -f installer nginx-full-dbg dépend de nginx-full (= 1.10.0-0ubuntu0.16.04.1); Cependant: Le paquet nginx-full n'est pas encore configuré. dpkg: package de traitement des erreurs nginx-full-dbg (--configure): problèmes de dépendance laissés non configurés (1)
Mohit le
1
Apache est-il installé et opérationnel sur le port 80 avant d’installer nginx? Modifier votre question d'inclure la sortie systemctl -l status nginxet
Ward Thomas
Aviez-vous une version différente de nginx installée également? Je vois que vous avez exécuté une tâche de suppression, mais si les anciennes configurations sont toujours présentes, elles peuvent interrompre l’installation si elles contiennent des commandes obsolètes ou similaires.
Thomas Ward
See "systemctl status nginx.service" and "journalctl -xe" for details.- Pouvez-vous s'il vous plaît le faire et inclure le résultat dans votre question?
David Foerster

Réponses:

140

Fermer apache2 avant d’installer nginx devrait résoudre ce problème:

sudo service apache2 stop
Andrew Chan
la source
3
Bienvenue sur Ask Ubuntu! Je recommande de modifier cette réponse pour la développer avec des détails spécifiques sur la manière de procéder. (Voir aussi Comment écrire une bonne réponse? Pour des conseils généraux sur les types de réponses considérés comme les plus utiles sur Ask Ubuntu.)
David Foerster le
Cela m'a donné l'allusion dont j'avais besoin. Dans mon cas, j'utilisais un conteneur
Docker
J'ai frappé la même chose, mais trouver le coupable avec netstat -tulpn | grep :80, dans mon cas, c'était Varnish configuré pour écouter sur le port 80. systemctl stop varnish, puis installer Nginx, il l'a corrigé. Pourquoi les paquets Debian / Ubuntu essaient-ils de démarrer eux-mêmes à l'installation, ça me dépasse ... Je préférerais l'installer, le configurer à mon
goût
Il est étrange que NGINX ne vérifie pas cela dans son programme d'installation et au moins envoie un message plus utile. Apache est très souvent installé sur les systèmes Linux.
machineghost
28

Andrew Chan a fourni la bonne réponse pour moi. Pour étendre un peu sa réponse, voici ce que vous pouvez faire sur la ligne de commande.

arrêter apache2

sudo systemctl stop apache2.service

Empêcher Apache2 de démarrer au démarrage

sudo systemctl disable apache2.service

Réinstallez nginx

sudo apt-get install nginx

AR hivers
la source
1
Je vous suggère de ne pas désactiver Apache2 au démarrage si vous en avez besoin - dans de nombreux cas, il n'est pas nécessaire de désactiver Apache si vous configurez l'application pour l'écouter sur un autre port. Cela fait moi-même, pour certaines configurations, je peux parler d'expérience (je travaille également beaucoup dans le package nginx, d'où provient cette expérience)
Thomas Ward
7

Je viens d'avoir ce problème, mais la solution était légèrement différente.

Une fois que j'ai résolu une simple configuration erronée du site, j'ai pu mettre à jour nginx.

Vérifiez votre journal des erreurs nginx :

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

Puis réessayez:

sudo apt-get update;sudo apt-get upgrade
Taiger
la source
enregistre FTW, dans mon cas, le port 80 était déjà utilisé, ce qui était la cause d'une erreur
xliiv
6

Dans mon cas, l'erreur est que le serveur a IPv6 désactivé. Solution:

Éditez /etc/nginx/sites-enabled/defaultet commentez IPv6:

listen [::]:80 default_server;

Réinstallez nginx:

apt purge nginx
apt autoremove
apt install nginx
utilisateur551419
la source
@DavidFoerster Avec apt 1.0, un nouveau fichier binaire a été introduit. Il rassemble bon nombre des commandes (sous-) familières réparties entre apt-get, apt-cacheetc. Par exemple, apt updateégal apt-get update, apt search some-nameégal apt-cache search some-name, etc. Dans certains cas, il y a eu une reformulation, comme apt full-upgradecela est égal apt-get dist-upgrade. Les anciens fichiers binaires et leurs commandes sont toujours disponibles pour ceux qui le souhaitent.
Henning Kockerbeck
@ HenningKockerbeck: Merci. Je ne le savais vraiment pas à l'époque et je pensais que c'était une faute de frappe, mais je me suis éduqué dans l'intervalle.
David Foerster
Cela a fonctionné pour moi, mais je ne peux pas implémenter cela dans mes scripts shell pour le déploiement de serveurs, c'est ridicule ...
Menasheh
1

Lorsque j'ai vérifié /var/log/nginx/error.log, j'ai constaté que le programme d'installation ne parvenait pas à ouvrir / var / cache / nginx / microcache

Une liste de répertoires montrait qu'il n'y avait pas de répertoire / var / cache / nginx. Je l'ai donc créée et l'installation a réussi.

Charles Oertel
la source
1

Dans mon cas, il s’agit d’un fichier mal configuré dans / etc / nginx / sites-enabled / je les ai nommés en tant que fichiers .old, mais cela n’a aucune importance. Ils seront lus et peuvent prédire une installation ou un démarrage réussi de ce service. Soyez prudent avec les fichiers de ce dossier et lisez attentivement le résultat de votre erreur, comme indiqué par @Taiger.

Godot85
la source
0

Avant l'installation, supprimez les liens symboliques ajoutés manuellement /sites-enabled.

Deto
la source
0

Dans mon cas, rien n’a aidé du tout, à part cela:

sudo fuser -k 80/tcp

service nginx start
mansim
la source