首页 > 解决方案 > Nginx 不显示 ServerBlocks

问题描述

我正在使用使用桥接连接的 VirtualBox 和 Ubuntu 服务器 20.04 在 Mac 上工作。我已经设置了 Nginx 服务器并且正在加载默认页面。我能够编辑 /var/www/html/index.html 向世界打招呼。我可以通过访问 http://ip/ 查看这个默认页面。

/var/www/ 中的服务器块文件被命名为 'html'(默认)、'site1' 和 'site2' 所有的 'site' 地图内部都有一个 html 地图,其中包含 index.html 和一些 HelloWorld 文本其中。

以上所有代码/信息都应该是正确的。因此,我假设错误在配置中。

/etc/nginx/sites-enabled 包含 3 个文件。“默认”、“站点 1”和“站点 2”。我将在下面的代码中显示“默认”文件和“site1”文件。

转到 http://site1/ 会导致错误页面,chrome 显示 IP 错误而不是 index.html 文件。

有人可以告诉我我做错了什么吗?

站点 1 文件:

server {
    listen 80;
    listen [::]:80;

    root /var/www/site1/html;
    index index.html index htm index.nginx-debian.html;

    server_name site1 www.site1;

    location / {
            try_files $uri $uri/ =404;
    }
}

默认文件:

server {
    listen 80 default_server;
    listen [::]:80 default_server;

    root /var/www/html;

    index index.html index.htm index.nginx-debian.html;

    server_name _;

    location / {
            try_files $uri $uri/ =404;
    }

}

标签: ubuntunginxserver

解决方案


您错了,因为您的计算机中没有任何类似或配置的server_name site1 www.site1;本地域名要路由到.site1www.site1127.0.0.1

因此,您需要在您的计算机上配置一个本地域,以便您在浏览site1www.site1将它们路由到127.0.0.1. 在 ubuntu 上,只需将/etc/hosts文件更改为如下所示:

127.0.0.1   localhost
127.0.0.1   site1
127.0.1.1   www.site1

但是我不确定如何在 MacOS 上做同样的事情,因为我从来没有使用过 mac lol。但我找到了一个可能对您有帮助的链接:

https://markinns.com/archive/how-to-setup-a-local-dns-host-file-on-mac-os-x.html


推荐阅读