nginx- error de servidor predeterminado duplicado


105

En mi registro de errores obtengo

[emerg] 10619 # 0: un servidor predeterminado duplicado para 0.0.0.0:80 en /etc/nginx/sites-enabled/mysite.com:4

en la línea 4 tengo:

server_name mysite.com   www.mysite.com;

¿Alguna sugerencia?


4
Publique su configuración completa. Cada uno server {}debería tener su propia listendirectiva.
Marki555

Si estaba editando algo en sitios habilitados y la conexión se cerró inesperadamente, puede terminar con un archivo de guardado automático allí desde el editor de texto, por lo que terminará con casi todas las configuraciones duplicadas, simplemente elimine ese archivo (para nano file.save)
LuisF

Respuestas:


196

Es probable que tenga otros archivos (como la defaultconfiguración) ubicados en el /etc/nginx/sites-enabledque deba eliminarse.

Este problema se debe a una repetición del default_serverparámetro proporcionado a una o más listendirectivas en sus archivos. Probablemente encontrará que esta directiva en conflicto dice algo similar a:

listen 80 default_server;

Como la documentación del módulo principal de nginx para loslisten estados:

El default_serverparámetro, si está presente, hará que el servidor se convierta en el servidor predeterminado para el address:portpar especificado . Si ninguna de las directivas tiene el default_serverparámetro, el primer servidor con el address:portpar será el servidor predeterminado para este par.

Esto significa que debe haber otro archivo o serverbloque definido en su configuración con un default_serverconjunto para el puerto 80. nginx se encuentra con eso primero antes que sumysite.com archivo, así que intente eliminar o ajustar esa otra configuración.

Si tiene dificultades para encontrar dónde se establecen estas directivas y parámetros, intente una búsqueda como esta:

grep -R default_server /etc/nginx

Gracias. Realmente ayudó.
Koushik Das

29
Para que quede claro, es la default_serverpalabra clave que solo puede aparecer en una configuración; puede tener varios sitios definidos conlisten 80;
Eborbob

1
Gracias, me ayudaste. En mi caso, encontré un duplicado en /etc/nginx/sites-enabled/default.save
Andrew Grow

1
Además del comentario de @ Eborbob, el default_serverparámetro solo puede aparecer una vez para cada address:portpar. Esto significa que es posible (y común) estar default_serverpresente varias veces en una configuración nginx general, pero se aplica a diferentes IP / puertos.
davidjb

2
el comando grep fue solo el boleto. son las cosas simples, gracias
FireDragon


5

SO Debian 10 + nginx. En mi caso, desvinculé la página "predeterminada" como:

  1. cd / etc / nginx / sites-enabled
  2. desvincular predeterminado
  3. reinicio del servicio nginx

4

Si está en Digital Ocean, esto significa que debe ir a / etc / nginx / sites-enabled / y luego ELIMINAR usando rm -R digitalocean y default

¡Me lo arregló!

Imagen de la consola en Windows 10 usando Bitvise


Esta fue la respuesta simple que funcionó para mí. Tuve que ir a / etc / nginx / sites-enabled / y rm -R previousServerFolderNameluego hacerlo sudo service nginx restartpara que el systemctl status nginxprograma se muestre "activo (en ejecución)"
Roly Poly
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.