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?

Ymn
fuente
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
davidjb
fuente
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

Ejecute esto en la terminal para ver configuraciones conflictivas que escuchan el mismo puerto:

grep -R default_server /etc/nginx
Eduardo A. Fernández Díaz
fuente
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
Navid Nasir
fuente
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

usuario1465132
fuente
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