De multiples domaines sur un serveur de points de faux sites
L'aide de Nginx, j'ai créé un multiple de domaine de configuration pour un serveur composé de quatre différents sites. Quand j'ai commencer à Nginx, je reçois un message d'erreur et les sites semblent se mêler de taper une url mène à l'un des autres sites.
Le message d'erreur affiché -
Restarting nginx: nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx: [warn] conflicting server name "localhost" on 0.0.0.0:80, ignored
nginx.
J'ai mis en place tous les quatre domaines d'une manière similaire dans leur fichier sous /sites-available -
server {
listen 80;
root /var/www/example.com/public_html;
index index.php index.html index.htm;
server_name example.com www.example.com;
location /{
try_files $uri $uri//index.html;
}
# pass the PHP scripts to FastCGI server listening on 127.0.0.1:9000
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
J'ai vérifié et il n'existe pas de fichier par défaut dans /sites-enabled. Deviner il y a peut être un mauvais paramétrage dans la Nginx principal config mais vous ne savez pas quoi chercher.
- Peut-être que vous avez un
server
défini dans le fichier de configuration principal (nginx.conf
)? - Non, juste http événements et des options. Rien de particulier, je devrais être en train de chercher?
- J'ai demandé ça parce que la valeur par défaut
nginx.conf
a un tas d'exempleserver
blocs, peut-être que vous avez oublié de les enlever. Ce qui est dans votre fichier de configuration principal? Pouvez-vous l'envoyer à pastebin ou quelque chose de similaire?
Vous devez vous connecter pour publier un commentaire.
Votre
nginx.conf
charges externes serveur de fichiers à partir du chemin d'accès que vous avez dans votre compte les directives.Si vous avez un fichier dans
include /etc/nginx/conf.d/*.conf;
et de son liés à d'include /etc/nginx/sites-enabled
il va charger le fichier deux fois, ce qui serait la cause de cette erreur.J'ai eu le même problème avec mon Ubuntu/nginx/gunicorn/django 1.9 sites sur ma machine locale. J'ai eu deux nginx fichiers dans mon /etc/nginx/sites-enabled. La suppression de permis de reste site de travail. Mettre les deux fichiers dans le fini toujours l'un des deux sites. Je ne suis pas sûr de savoir comment il a choisi.
Donc, après avoir regardé plusieurs débordement de pile questions sans trouver de solution, je suis allé ici: http://nginx.org/en/docs/http/request_processing.html
Il finit de vous pouvez avoir plusieurs serveurs dans sites-enabled fichier, j'ai donc changé à ce:
Je peux maintenant accéder à la fois de mes sites en local
Découvrez la
/etc/nginx/sites-enabled/
répertoire si il n'y a aucun fichier temporaire comme~default
. Le supprimer et le problème est résolu.De Crédit: @OmarIthawi nginx erreur "conflit de nom de serveur" ignoré
Dans mon cas, pas de sites-enabled ou double comprend ....
La solution était d'éviter plus d'une référence (si vous considérez l'ensemble de la conf.d fichiers dans son ensemble) à "listen 80" et "server_name" références ...
Dans mon cas, par défaut.conf et kibana.conf à la fois inclus des références à ce gars ... j'ai commenté celui par défaut et le problème est résolu !
Mes 2 cents ....