Problèmes pour installer nginx-full sur debian 8

23

J'ai des problèmes pour installer nginx pkg (nginx-full) sur Debian 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.

Quelqu'un sait comment le réparer?

gnomex
la source
1
Pouvez-vous ajouter la sortie de 'systemctl status nginx.service' et 'journalctl -xn'
0x7c0
# systemctl status nginx.service est là et le journalctl -xn renvoie "Aucun fichier journal n'a été trouvé."
gnomex
J'ai eu le même problème, car j'ai d'abord installé lighttpd. Ce serait génial, si nginx fournissait un meilleur message d'erreur, bien que @Shutupsquare: pour moi, cette sortie était inutile et ne permettait pas de conclure que le port était déjà bloqué ...
Chris

Réponses:

26

Un problème similaire a été signalé sur le bogue Debian # 754407 . Au final, ce n'était que le port 80 pris par un autre processus (Apache2). Cela pourrait-il être votre cas également?

Gheesh
la source
Après avoir lu le bogue, cela devrait vraiment échouer de manière plus gracieuse et informative. Il devrait également être possible de basculer vers un autre port si le port actuel est utilisé. Je pense que postgresql fait quelque chose comme ça par exemple.
Faheem Mitha
Le bug a été corrigé dans la version 1.6.1-2. Maintenant, tout fonctionne parfaitement
gnomex
@gnomex nope, 1.9.10-1 dans Stretch et j'ai dû arrêter l' apache2installation nginx-full.
berbt
Dans mon cas, Varnish utilisait le port 80 alors que j'essayais d'installer nginx pour 443. Merci pour le conseil
NoChecksum
20

Arrêtez apache2

service apache2 stop

puis installez nginx

apt-get install nginx

Alors célébrez-le!

Kapanet
la source
9

dans mon cas, j'ai exécuté

sudo apt-get remove nginx* --purge après cela, j'ai installé nginx-common

sudo apt-get install nginx-common

j'ai installé nginx

sudo apt-get install nginx

après cela, j'ai tapé ip dans le navigateur et cela a fonctionné

shahab kamali
la source
1

J'ai eu le même problème. JE N'AI PAS Apache, et rien d'autre ne bloquait mon port 80. Je ne pouvais PAS installer nginx avec

sudo apt-get install nginx

ni avec

sudo apt-get install nginx-common nginx-full

Après une semaine, je suis tombé sur ce petit blog: https://etc.banana.fish/?p=75

Dans ce blog, la solution est:

  1. Installez nginx-common: sudo apt-get install nginx-common
  2. Supprimer listen [::]:80 default_server;de / etc / nginx / sites-enabled / default (je l'ai fait en utilisant l'utilisateur root)
  3. Juste pour être sûr, j'ai redémarré mon serveur.
  4. Juste pour être sûr deux fois, je l'ai fait sudo apt-get updateet puissudo apt-get upgrade .
  5. Maintenant, j'ai finalement appelé sudo apt-get install nginx-fullet cela a fonctionné!

Afterwords j'ai pu voir le Titlescreen de nginx, quand j'ai tapé l'IP de mon serveur distant!

ElectRocnic
la source
0

dans mon cas, l'erreur est que le serveur a désactivé IPv6. éditez simplement les fichiers de configuration de nginx à corriger (par exemple: / etc / nginx / sites-enabled / default) et redémarrez le démon nginx.

Massimo
la source
0

J'avais le même problème. Les conseils sur Apache n'étaient pas pertinents, car je l'avais activement désinstallé lors de la configuration.

Il s'avère que je voyais le résultat d'un conflit entre le fichier de configuration de nginx /etc/nginx/nginx.confet le script de service sur /lib/systemd/system/nginx.service.

Plus précisément, le script de service démarrait nginx avec certaines options, notamment 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
...

J'ai couru /usr/sbin/nginx -g 'daemon on; master_process on;'directement sur le terminal et j'ai eu l'erreur suivante:

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

J'ai jeté un coup d'œil /etc/nginx/nginx.confet j'ai trouvé (sur la ligne 1):

daemon off;

Commentant cela et en cours d'exécution a sudo apt-get -f installrésolu le problème.

Phillip B Oldham
la source
0

Je rencontre ce problème quand apt-get remove nginxet apt-get automove nginx, et après que je supprime manuellement le dossier nginx. Quand je le apt-get install nginxrépète, ce problème ressort.

~# apt-get install  

nginx Lecture des listes de paquets ... Terminé Construction de l'arborescence des dépendances Lecture des informations d'état ... Terminé nginx est déjà la dernière version. 0 mis à niveau, 0 nouvellement installé, 0 à supprimer et 140 non mis à niveau. 2 pas complètement installé ou retiré. Après cette opération, 0 B d'espace disque supplémentaire sera utilisé. Voulez-vous continuer? [O / n] y Configuration de nginx-full (1.6.2-5 + deb8u4) ... Le travail pour nginx.service a échoué. Voir «systemctl status nginx.service» et «journalctl -xn» pour plus de détails. invoke-rc.d: nitsx initscript, échec de l'action "start". dpkg: package de traitement des erreurs nginx-full (--configure): le script de post-installation installé par le sous-processus a renvoyé l'état de sortie d'erreur 1 dpkg: les problèmes de dépendance empêchent la configuration de nginx: nginx dépend de nginx-full (> = 1.6.2-5 + deb8u4 ) | nginx-light (> = 1,6. 2-5 + deb8u4) | nginx-extras (> = 1.6.2-5 + deb8u4); pourtant:
Le package nginx-full n'est pas encore configuré. Le paquet nginx-light n'est pas installé. Le package nginx-extras n'est pas installé. nginx dépend de nginx-full (<< 1.6.2-5 + deb8u4.1 ~) | nginx-light (<< 1.6.2-5 + deb8u4.1 ~) | nginx-extras (<< 1.6.2-5 + deb8u4.1 ~); cependant: le package nginx-full n'est pas encore configuré. Le paquet nginx-light n'est pas installé.
Le package nginx-extras n'est pas installé.

dpkg: erreur de traitement du package nginx (--configure): problèmes de dépendance - laissant non configuré Des erreurs ont été rencontrées lors du traitement: nginx-full nginx E: le sous-processus / usr / bin / dpkg a renvoyé un code d'erreur (1)

et

~# systemctl status nginx.service  

nginx.service - Un serveur Web hautes performances et un serveur proxy inverse Chargé: chargé (/lib/systemd/system/nginx.service; activé) Actif: échoué (Résultat: code de sortie) depuis le mar 2017-03-21 04: 35:29 EDT; Il y a 1min
33s Processus: 19912 ExecStartPre = / usr / sbin / nginx -t -q -g démon activé; master_process on; (code = sorti, statut = 1 / ÉCHEC) PID principal: 18408 (code = sorti, statut = 0 / SUCCÈS)

21 mars 04:35:29 dayinhu nginx [19912]: nginx: [Emerg] open () "/etc/nginx/nginx.conf" a échoué (2: aucun fichier ou répertoire de ce type) 21 mars 04:35:29 dayinhu nginx [19912]: nginx: le fichier de configuration /etc/nginx/nginx.conf a échoué le 21 mars 04:35:29 dayinhu systemd [1]: nginx.service: processus de contrôle terminé, code = état quitté = 1 mars 21 04:35 : 29 dayinhu systemd [1]: impossible de démarrer Un serveur Web hautes performances et un serveur proxy inverse. 21 mars 04:35:29 dayinhu systemd [1]: L'unité nginx.service est entrée en état d'échec.

On dit que le nginx.conf a perdu, j'ai essayé plusieurs fois sans succès.

Enfin je me suis fixé par,

apt-get purge nginx nginx-common nginx-full
apt-get install nginx
Kris Roofe
la source
-2
  1. si vous avez skype: basculez le port skype 80sur443
  2. arrêter le service apache2
  3. installer nginx
  4. redémarrer apache2
  5. mise à jour apt-get
m85000
la source