一台服务器上的多个域指向错误的站点

使用Nginx,我创build了一个包含四个站点的服务器的多域设置。 当我启动Nginx的时候,我得到了一个错误信息,这些网站似乎混在一起,因为在一个url中input了一个url。

显示的错误信息 –

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. 

我已经在/ 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; } } 

我已经检查并且在/ sites-enabled中没有默认文件。 猜测Nginx主configuration中可能存在错误的设置,但不确定要查找什么。

    你的nginx.conf从你在include指令中的路径加载它的外部服务器文件。

    如果您在include /etc/nginx/conf.d/*.conf;有文件, 它的符号链接include /etc/nginx/sites-enabled它会加载两次会导致该错误的文件。

    我的本地机器上的Ubuntu / nginx / gunicorn / django 1.9站点出现同样的问题。 我在/ etc / nginx / sites-enabled中有两个nginx文件。 删除任何一个允许剩余的网站工作。 把两个文件都放到两个站点中的一个。 我不确定它是如何选择的。

    因此,在查看了几个堆栈溢出问题而没有找到解决方案之后,我去了这里: http : //nginx.org/en/docs/http/request_processing.html

    最后,您可以在一个启用站点的文件中拥有多台服务器,所以我更改为:

     server { listen 80; server_name joelgoldstick.com.local; error_log /var/log/nginx/joelgoldstick.com.error.log debug; location / { proxy_pass http://127.0.0.1:8002; } location /static/ { autoindex on; alias /home/jcg/code/python/venvs/jg18/blog/collect_static/; } } server { listen 80; server_name cc-baseballstats.info.local; error_log /var/log/nginx/baseballstats.info.error.log debug; location / { proxy_pass http://127.0.0.1:8001; } location /static/ { autoindex on; alias /home/jcg/code/python/venvs/baseball/baseball_stats/collect_static/; } } 

    我现在可以在本地访问我的两个站点

    如果有任何临时文件(如/etc/nginx/sites-enabled/请查看/etc/nginx/sites-enabled/目录。 删除它并解决问题。

    信用:@OmarIthawi nginx错误“冲突的服务器名称”忽略

    在我的情况下,没有网站启用,也没有双包括….

    解决方案是避免多个参考(如果你考虑所有的conf.d文件作为一个整体)“听80”和“server_name”引用…

    在我的情况下,default.conf和kibana.conf都包括这个家伙的参考…我评论了默认和问题解决了!

    我的2美分….