OVH Cloud OVH Cloud

config' simplissime de nginx

12 réponses
Avatar
Jean-Marc
--Signature=_Sun__12_May_2013_14_38_38_+0200_bYtBIzhXJvPemwNB
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

Salut la liste,

J'aimerai installer un petit serveur web sur mon board ARM.
J'ai pens=E9 =E0 nginx.
J'ai donc install=E9 nginx.
Mais la config' semble vide.
Et quand je d=E9marre via <service nginx start>, j'ai un message me disant =
que le port 80 est d=E9j=E0 utilis=E9.

En fait, nginx semble se bloquer lui-m=EAme.
Je d=E9marre <service nginx start> qui m'affiche :
[....] Starting nginx: nginxnginx: [emerg] bind() to [::]:80 failed (98: Ad=
dress already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] bind() to [::]:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()

Et pendant le d=E9marrage, je tape <lsof -i:80> qui m'affiche :
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nginx 4342 root 6u IPv4 6332 0t0 TCP *:http (LISTEN)

Une fois le d=E9marrage foir=E9, nginx ne tourne pas et lsof ne me sort plu=
s rien.


Je me suis alors tourn=E9 vers tasksel et j'ai install=E9 un web-server.
Mais malgr=E9 le fait que nginx =E9tait d=E9j=E0 install=E9, apt m'a quand =
m=EAme install=E9 apache.
L=E0, pas de soucis, la page "It Works" =E9tait dispo.

Un remove + autoremove plus loin, je me retrouve au m=EAme point.

La doc' du wiki Debian ne donne pas plus que la liste de fonctions dispos d=
ans les diff=E9rents paquets (nginx-light, full, extra).

Et le wiki de nginx est parfois indisponible, parfois trop fouill=E9.
Pas de quick start, en fait.

Des id=E9es ? Suggestions ?

--=20
Jean-Marc <jean-marc@6jf.be>

--Signature=_Sun__12_May_2013_14_38_38_+0200_bYtBIzhXJvPemwNB
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJRj41OAAoJEECwQOvthjrRm0sQAJUHVevD1hfrKoIwNJ8f+yVf
UXlCVfYUWaGyH7Qb7US+vyau/yJiN6C02bgDEXXGScvnjzDkpZu0HypaPFXrRwFy
opXbSXe1L8cb5FFnWm4TIlxXyDy3brODS3S5n8I5TlHDoKF/l7Nh3j18X+m3K3Pz
hgCWfDJG0u/b2M9OU2Hfb/lOahir4J9U9A8jYwaAglE7byV49YPmpT9BXqNhAi09
K0uLr0pezXV4Nl1wR+BCxqqHV95hHPlP2XACJUJckeLR8+YwKUWCuuvH1wiFdW3e
iRpTaRzKs1UzemwkpSnX2LR8pyBZuQMdeyXEj/Sc31z+dy1Hm2i6wvS2DxBCKutg
4R/6JE64p/wePfbnmT/ClSWR2YINsRo/7rJhbexMeXOItDzkQjbP0avyn1Gr26hN
wbACNV8xK6+sEGveSLiLUTkEAGH4shnWIMNXAG1Rp+HzTzJ16ZkkqjpPPDwQ3nTZ
9LKtdLD0IOf/v+7DdrO2JAIAJI7baI5QSSHCcjYRMyz6sFalP3/sloBqdkLDpo8N
dSEIVmtmfWrXtp5R7spxRoLfAR6p6RHL+lZ5fwO9pbRJaeqiRDfVuv6G7nkqMUTy
BGKyjfj+xmNMK882I/zt+lmxPBOFNb0sS1AQWTahDpfV+5b8lqV5wUbSzxNvaYQg
Gp+OhtpdnoLFSXPgTaSA
=b9L7
-----END PGP SIGNATURE-----

--Signature=_Sun__12_May_2013_14_38_38_+0200_bYtBIzhXJvPemwNB--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers debian-user-french-REQUEST@lists.debian.org
En cas de soucis, contactez EN ANGLAIS listmaster@lists.debian.org
Archive: http://lists.debian.org/20130512143838.bc9142c9fa58cc000beeb621@6jf.be

2 réponses

1 2
Avatar
mirtouf
Le 13/05/2013 11:23, Raphaël POITEVIN a écrit :
Jean-Marc writes:

Le soucis vient du fichier de config' sites-enabled/default qui spécifie les directives listen suivantes :
listen 80;
listen [::]:80 default_server;

Or, suivant la doc' nginx (http://wiki.nginx.org/HttpCoreModule#listen),
" When you enable the address [::]:80, binding port 80 using IPv6, in the listen directive, in Linux, by default, the IPv4 port 80 is also enabled. Meaning that nginx listens for both IPv4 and IPv6 incoming traffic. Therefore if you erroneously specify also a IPv4 address you'll get an already bind address error when reloading nginx configuration."

En clair, si nginx écoute sur le port 80 en IPv6, il le fera aussi par défaut sur le port 80 IPv4. Et spécifier les deux conduit à une erreur au chargement.

Et si je supprime la directive "liste 80;", nginx démarre.

La séparation IPv4 et v6 est possible via sysctl net.ipv6.bindv6only mais la valeur par défaut indique de ne pas séparer l'IPv4 et v6.

Donc, la config' livrée avec nginx ne fonctionne pas.



Elle marchait avant, c'est suite à une mise à jour, je ne sais laquelle
car, j'ai fais longtemps des mises à jours sans redémarrer nginx ;
j'avais rencontré le pb suite à un redémarrage de la machine que j'ai
résolu en effet comme toi.



Bonsoir,

depuis la version 1.4.0 (et je ne sais plus quelle version de
développement 1.3.x), il faut _explicitement_ indiquer à nginx d'écouter
sur la couche IPv4 de l'interface sinon aucune connexion IPv4 ne sera
possible. La séparation IPv4 - IPv6 se fait directement dans la
configuration du logiciel et non plus via un appel au noyau.
Le wiki n'est pas à jour ceci dit.

Donc pour nginx 1.4.0 et ultérieur :
listen 80;
listen [::]:80;
dans votre fichier de configuration kivabien sans quoi, si comme moi
votre FAI est resté bloqué sur IPv4, une mise à jour de nginx pourra
rendre votre site a priori *complètement* inaccessible même si ce n'est
pas le cas.

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
Avatar
Jean-Marc
--Signature=_Tue__14_May_2013_22_23_23_+0200_TJVBArP3hQj1y1BF
Content-Type: text/plain; charset=ISO-8859-1
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On Tue, 14 May 2013 21:52:48 +0200
mirtouf wrote:

Bonsoir,



Salut,


depuis la version 1.4.0 (et je ne sais plus quelle version de



Debian Jessie fournit un nginx 1.2.6.

développement 1.3.x), il faut _explicitement_ indiquer à nginx d'éc outer
sur la couche IPv4 de l'interface sinon aucune connexion IPv4 ne sera
possible. La séparation IPv4 - IPv6 se fait directement dans la
configuration du logiciel et non plus via un appel au noyau.
Le wiki n'est pas à jour ceci dit.



Et je me demande si les problèmes ne viennent pas de là.
Un mix des config' v1.2.x et v1.4.x


Donc pour nginx 1.4.0 et ultérieur :
listen 80;
listen [::]:80;
dans votre fichier de configuration kivabien sans quoi, si comme moi
votre FAI est resté bloqué sur IPv4, une mise à jour de nginx pourr a
rendre votre site a priori *complètement* inaccessible même si ce n'e st
pas le cas.




Donc l'option correcte dans la config' 1.2.X est de déjà explicitement spécifier l'écoute IPv4 et IPv6 et non pas l'écoute IPv4 sur l'IPv6.

--
Jean-Marc

--Signature=_Tue__14_May_2013_22_23_23_+0200_TJVBArP3hQj1y1BF
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.12 (GNU/Linux)

iQIcBAEBCAAGBQJRkp07AAoJEECwQOvthjrRxWEP/jl2tyFY2GDwVGNegVD3o0zT
pjSnhiPGvave2lsUWZaUEX71PH50HUlDki/RCdmr7oiyQgL3/lHsUFHK7RnQRT2W
POEmJLq0sSdOlaBrUdliGy+1/v9H4fDZfAFuSKmB/8bQ0Z6vL3Uu0cWNM/rRl8dp
Lb14Yq27/Rs4+K+Yq1TaFDt7wAy786mbuzqtcT9sKz8hKqXG31d7UAd/7LQA7/LS
fI9+PrmsYkpm1t0a5TksWk0FhNwnFjD1dwK6uPx8ovt7p/cL2mLvEf/dEuiJdlCR
sDFYhAfnBvVzjILZmYwkqeaLc3A/Zb9syb8u466BBFkf9ZcgEgVc9pziPd4wA2h/
vq/R7MjMi2lldCaGDUmHToLAkWpluE5xj+qF3jxLf6tLYb9DpHG1UZpaelBTZq8h
jJiJ5DnCDXz+YrCy2BKFs+iClPVn6TB7CgBh1k3rTrlz43q41A2++10bIIAb3N4a
JJucCwIKsgQ82dfMLwxWDn/lHHK3rNXFJZJnLJoUyQ4NLQEJKvoHfTSzQoEbHbYK
TIlwVtjSPrkR7OxFSLeB8BuvH0wG5W3B9KFfDrY4pGVBFjYJjISsG6wmUHqGsirE
wU8dWt6+zbwBkWDZvqPAkAV7EmBcF6zlHpysvxhmLBpJSghWyAT9yrQQvqOmPgIJ
Y0AyoEbShhAh1J51YRMJ
=P+6d
-----END PGP SIGNATURE-----

--Signature=_Tue__14_May_2013_22_23_23_+0200_TJVBArP3hQj1y1BF--

--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.org/fr/FrenchLists

Pour vous DESABONNER, envoyez un message avec comme objet "unsubscribe"
vers
En cas de soucis, contactez EN ANGLAIS
Archive: http://lists.debian.org/
1 2