1. nginx: [warn] conflicting server name "xxx.xx.com" on 0.0.0.0:80, ignored
1.1. 报错解释:
这条警告信息表明在同一个IP地址和端口上配置了两个具有冲突服务器名称(xxx.xx.com)的服务器块。Nginx 无法决定当一个请求到达该端口时应该由哪一个服务器块来处理,因为它们的服务器名称相同。
1.2. 解决方法:
- 检查你的 Nginx 配置文件(通常是 /etc/nginx/nginx.conf 或者包含在 /etc/nginx/conf.d/ 目录下的某个文件)。
- 找到两个具有相同服务器名称的 server 块。
- 修改其中至少一个的监听端口或者使用不同的服务器名称以消除冲突。
- 重载 Nginx 配置以使更改生效,通常可以使用命令 sudo nginx -s reload。
1.3. 举例
例如,如果你有以下两个服务器块:
server {
server_name xxx.xx.com;
listen 0.0.0.0:80;
# ... 其他配置 ...
}
server {
server_name xxx.xx.com;
listen 0.0.0.0:80;
# ... 其他配置 ...
}
你可以将其中一个的端口改为例如 8080:
server {
server_name xxx.xx.com;
listen 0.0.0.0:80;
# ... 其他配置 ...
}
server {
server_name xxx.xx.com;
listen 0.0.0.0:8080;
# ... 其他配置 ...
}
或者改变一个服务器的域名:
server {
server_name xxx.xx.com;
listen 0.0.0.0:80;
# ... 其他配置 ...
}
server {
server_name another.domain.com;
listen 0.0.0.0:80;
# ... 其他配置 ...
}
确保每个服务器块的配置都是正确的,并且不会引发其他的冲突或问题。