ubuntu - 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;
}
}
解决方案
您错了,因为您的计算机中没有任何类似或配置的server_name site1 www.site1;
本地域名要路由到.site1
www.site1
127.0.0.1
因此,您需要在您的计算机上配置一个本地域,以便您在浏览site1
时www.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
推荐阅读
- wordpress - Wordpress 分页在第 10 页后停止工作
- laravel - Phpunit 命令在 laravel 中显示错误
- c# - 无法在令牌响应中显示其他属性
- ios - How to manage Auto Renewable subscription dynamically iOS?
- java - 获取带有空检查和功能的流以使用 orElse() 和 orElseThrow() 进行集合
- postgresql - 如何在 PostgreSQL 中使用动态列名
- python-3.x - 如何使用 Python 自动点击图标?
- angular - ng build --prod --configuration=production --base-href /folder_name/ --aot 不使用 Angular 6 生成唯一哈希
- android - RxAndroid:进行 2 次 api 调用,合并结果,即使两者都失败,也应该只触发一次 onError
- c++ - O(1) 反向字符串