我已经使用 Nginx 部署了一个 Web 服务器。该 Web 服务器位于使用 Virtualbox 的虚拟机下。一切似乎都运行正常。连接是在本地网络环境中进行的。
问题是,我第一次访问网页时,网络服务器下的网页总是需要 5 秒钟才能加载。初次访问后,当我重新加载页面或再次访问时,网页会立即显示出来。我已经禁用了浏览器缓存。然后,如果我等待大约一分钟,这个过程就会重复:当我尝试加载网页时,需要 5 秒钟。
我在 Edge Chromium 和 Firefox 上遇到了同样的问题。我尝试使用 Safari (MacOs),但没有遇到同样的问题,但我相信即使我禁用了 Safari,它也会使用内存缓存。
到目前为止,我还不确定是什么原因。浏览器?Nginx?DNS?
我的虚拟机没有休眠。我尝试在系统偏好设置中更改 DNS 服务器。我使用自定义主机访问托管在我服务器上的网站 (/etc/hosts)。我使用 Debian 9 作为服务器,使用 MacOS Big Sur 11.1 作为主机。
我也在使用 PHP,但我尝试了两个页面:纯 HTML 和 PHP,并且两者都具有相同的结果。
这个问题让我的工作变成了一场噩梦,因为每次更改后我都必须等待 5 秒钟才能看到更改。
答案1
我将“.local”域名用于我的本地项目,该域名在 中定义/etc/hosts
。不知何故,我的机器试图解析该域名,超时时间为 5 秒。超时后,页面加载正常。通过更改为另一个域名解决了这个问题。这很奇怪,因为我已经使用“.local”域名一段时间了,但在 Windows 环境中从未遇到过问题。这似乎在 MacOS 上有所不同。