nginx错误"冲突的服务器名称"被忽略

use*_*121 105 nginx

server {
    #listen   80; ## listen for ipv4; this line is default and implied
    #listen   [::]:80 default ipv6only=on; ## listen for ipv6

    #root /usr/share/nginx/www;

root /home/ubuntu/node-login;
    # Make site accessible from 
    server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com;

location /{
    proxy_pass http://127.0.0.1:8000/;
    proxy_redirect off;
}
Run Code Online (Sandbox Code Playgroud)

}

这导致nignx错误[警告]冲突的服务器名称"ec2 ..."在0.0.0.0:80忽略我不明白,任何解释赞赏.谢谢.

Oma*_*awi 152

我假设您正在运行Linux,并且您正在使用gEdit来编辑您的文件.在/etc/nginx/sites-enabled,它可能留下了一个临时文件,例如default~(观看~).

根据您的编辑器,可以命名文件.save或类似名称.只是运行$ ls -lah以查看哪些文件无意中存在并将其删除(感谢@Tisch).

删除此文件,它将解决您的问题.

  • @jakobud在`/ etc/nginx/sites-enabled`中.我编辑了我的答案,提到它. (3认同)
  • 我有一个导致问题的.save文件. (3认同)
  • 你能澄清一下吗?我在 /etc/nginx/sites 中根本看不到任何“default~”文件,仅启用了“default”文件夹。 (2认同)
  • 在我的例子中,emacs的一些配置创建了一个带有前导和尾随`#`的文件,例如`#portal #`. (2认同)

VBa*_*art 29

server_name ec2-xx-xx-xxx-xxx.us-west-1.compute.amazonaws.com在配置中有另一个地方.

  • 我检查了一下,没有找到任何东西。当我删除“ ec2_xxx ...”时,它不会发出此警告。Nginx配置中是否有0.0.0.0:80的隐式默认值? (2认同)
  • 这对我来说,但它是`localhost`. (2认同)
  • 我使用: cd /etc/nginx/sites-available; grep -rnw 。-e 域名.com (2认同)

Mar*_*rin 10

应该只定义一个localhost,检查sites-enabled或nginx.conf.

  • 我在两个单独的*.conf文件中有两个相同的"server_name"指令.谢谢. (8认同)
  • 这也解决了我的问题。我在不同的 *.conf 文件中放置了 2 个相同的服务器块。谢谢! (2认同)
  • 此外,检查此目录中的所有文件:`/etc/nginx/conf.d`。每个域也只能在该目录中的文件中出现一次(作为 `servername` 值)。那是我的问题! (2认同)