在我的错误日志中,[emerg] 10619#0:0.0.0:80在/etc/nginx/sites-enabled/mysite.com:4中的重复默认服务器在第4行,我有:
server_name mysite.com www.mysite.com;
字符串有什么建议吗?
dddzy1tm1#
您可能需要删除位于/etc/nginx/sites-enabled中的其他文件(例如default配置)。此问题是由于重复提供给文件中的一个或多个listen指令的default_server参数引起的。您可能会发现此冲突指令的内容类似于:
/etc/nginx/sites-enabled
default
listen
default_server
listen 80 default_server;
字符串正如listen的nginx核心模块文档所述:default_server参数,如果存在,将导致服务器成为指定address:port对的默认服务器。如果没有任何指令具有default_server参数,则第一个具有address:port对的服务器将成为此对的默认服务器。这意味着在您的配置中必须定义另一个文件或server块,其中default_server设置为端口80。nginx在mysite.com文件之前首先遇到它,因此请尝试删除或调整其他配置。如果你很难找到这些指令和参数的设置位置,可以尝试这样的搜索:
address:port
server
mysite.com
grep -R default_server /etc/nginx
型
tnkciper2#
操作系统Debian 10 + nginx。在我的例子中,我取消了“默认”页面的链接:
yk9xbfzb3#
在终端执行此命令,查看侦听同一端口的冲突配置:
字符串
t9aqgxwy4#
如果你在Digital Ocean上,这意味着你需要转到/etc/nginx/sites-enabled/,然后使用rm -R digitalocean和default删除它帮我修好了!Pic of Console on Windows 10 using Bitvise
i34xakig5#
在我的例子中,在/etc/nginx/nginx.conf中注解掉include上的restart指令是有效的。
/etc/nginx/nginx.conf
include
#include /etc/nginx/sites-enabled/*; include /etc/nginx/sites-enabled/abcdef.com;
字符串PS:根据上面的评论,如果只有一个配置(默认或自定义),这可能是一个解决方案
xkftehaa6#
在我的情况下,垃圾文件从编辑器造成的问题。我有一个配置如下:
#... http { # ... include ../sites/*; }
字符串在../sites目录中,最初我有一个default.config文件。然而,我错误地将重复的文件保存为default.config.save和default.config.save.1。删除它们解决了这个问题。
../sites
default.config
default.config.save
default.config.save.1
9wbgstp77#
如果davidjb的答案没有显示多个default_server行,请检查是否有多个include指令。您可能不小心将默认站点(或其他站点)包含了两次。
6bc51xsx8#
我的情况下,我已经有一个文件内的网站启用。在删除不需要的文件和交换相关文件后,问题已经解决。选项来尝试nginx配置是否通过命令确定
sudo nginx -t
字符串测试结果:
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok nginx: configuration file /etc/nginx/nginx.conf test is successful
8条答案
按热度按时间dddzy1tm1#
您可能需要删除位于
/etc/nginx/sites-enabled
中的其他文件(例如default
配置)。此问题是由于重复提供给文件中的一个或多个
listen
指令的default_server
参数引起的。您可能会发现此冲突指令的内容类似于:字符串
正如
listen
的nginx核心模块文档所述:default_server
参数,如果存在,将导致服务器成为指定address:port
对的默认服务器。如果没有任何指令具有default_server
参数,则第一个具有address:port
对的服务器将成为此对的默认服务器。这意味着在您的配置中必须定义另一个文件或
server
块,其中default_server
设置为端口80。nginx在mysite.com
文件之前首先遇到它,因此请尝试删除或调整其他配置。如果你很难找到这些指令和参数的设置位置,可以尝试这样的搜索:
型
tnkciper2#
操作系统Debian 10 + nginx。在我的例子中,我取消了“默认”页面的链接:
1.取消链接默认值
1.服务nginx重启
yk9xbfzb3#
在终端执行此命令,查看侦听同一端口的冲突配置:
字符串
t9aqgxwy4#
如果你在Digital Ocean上,这意味着你需要转到/etc/nginx/sites-enabled/,然后使用rm -R digitalocean和default删除
它帮我修好了!
Pic of Console on Windows 10 using Bitvise
i34xakig5#
在我的例子中,在
/etc/nginx/nginx.conf
中注解掉include
上的restart指令是有效的。字符串
PS:根据上面的评论,如果只有一个配置(默认或自定义),这可能是一个解决方案
xkftehaa6#
在我的情况下,垃圾文件从编辑器造成的问题。我有一个配置如下:
字符串
在
../sites
目录中,最初我有一个default.config
文件。然而,我错误地将重复的文件保存为default.config.save
和default.config.save.1
。删除它们解决了这个问题。9wbgstp77#
如果davidjb的答案没有显示多个default_server行,请检查是否有多个include指令。
您可能不小心将默认站点(或其他站点)包含了两次。
6bc51xsx8#
我的情况下,我已经有一个文件内的网站启用。
在删除不需要的文件和交换相关文件后,问题已经解决。
选项来尝试nginx配置是否通过命令确定
字符串
测试结果:
型