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:
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:
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:
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)"
server {}
debería tener su propialisten
directiva.Respuestas:
Es probable que tenga otros archivos (como la
default
configuración) ubicados en el/etc/nginx/sites-enabled
que deba eliminarse.Este problema se debe a una repetición del
default_server
parámetro proporcionado a una o máslisten
directivas en sus archivos. Probablemente encontrará que esta directiva en conflicto dice algo similar a:Como la documentación del módulo principal de nginx para los
listen
estados:Esto significa que debe haber otro archivo o
server
bloque definido en su configuración con undefault_server
conjunto 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:
fuente
default_server
palabra clave que solo puede aparecer en una configuración; puede tener varios sitios definidos conlisten 80;
default_server
parámetro solo puede aparecer una vez para cadaaddress:port
par. Esto significa que es posible (y común) estardefault_server
presente varias veces en una configuración nginx general, pero se aplica a diferentes IP / puertos.Ejecute esto en la terminal para ver configuraciones conflictivas que escuchan el mismo puerto:
fuente
SO Debian 10 + nginx. En mi caso, desvinculé la página "predeterminada" como:
fuente
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
fuente
rm -R previousServerFolderName
luego hacerlosudo service nginx restart
para que elsystemctl status nginx
programa se muestre "activo (en ejecución)"