我有一个安装nginx并使用默认配置的主机。对我来说很奇怪,即使在默认的nginx.conf中,只有一个带有server_name Publisher
的虚拟服务器,但我仍然可以从笔记本电脑访问nginx欢迎页面。
我很确定配置文件是由nginx使用的,因为当我更改localhost
的根时,它会在重新启动服务后生效。
关于我如何能够深入了解这一点的任何建议或任何想法?
答案 0 :(得分:2)
Nginx默认配置的开头是:
server {
listen 80;
server_name localhost;
...
}
Listens告诉Nginx它应该监听HTTP连接的主机名和TCP端口。仅供参考'听80;'相当于'listen *:80;'
server_name允许您使用基于域名的虚拟主机。如你所愿。但是你只有一个服务器块。所以听取了控制权。基本上它在端口80上看到了一个请求并且顺利,因为我没有更好的选择,我将使用此服务器块。现在,如果您在端口80上添加更多服务器块,那么Nginx将开始使用服务器名称作为确定使用哪个服务器的方法。
您可以添加如下服务器块:
server {
listen 80 default_server;
server_name _;
...
}
如果没有其他匹配项,那将成为默认服务器。
希望有所帮助。