我遇到这个问题时,我正在 Ubuntu VM 上使用 nginx 来托管一个非常基本的网站。该网站非常基础,实际上只托管一张图片和一个按钮。
每当我这样做时sudo systemctl restart nginx
,这似乎可以暂时“解决”问题。但是当我在手机和桌面上重新测试网站并刷新几次以模拟轻度和正常使用时。最终,网页需要很长时间才能响应,并且会出现“无法访问服务器”错误。
这是我的配置文件:我花了几个小时在网上搜索并把各种建议拼凑在一起,才开发出这个配置文件。我觉得这是一个我忽略的超级简单的修复方法,因为根据网络,nginx 应该可以同时处理数千个连接而不会出现问题。我在 i7 10750 上运行带有 4GB RAM 和 3 个内核的服务器。请帮忙。请参阅配置文件以了解我尝试解决问题的方法,但就像我说的,随着时间的推移或经过一定数量的新连接和刷新后,它变得难以忍受地慢,并且在某个时间点之后无法再连接到服务器。
编辑:跟踪错误日志文件不会产生任何错误,而其他日志文件最终在网站加载时仅输出预期的输出。
EDIT2:进一步挖掘后,我发现请求 SSL 需要的时间太长了。通常在服务器重新设置后,运行此命令只需几分之一秒:curl -w "\nSSL Handshake Time: %{time_appconnect}\nTotal Time: %{time_total}\n" -o /dev/null -s https://directinghomesolutions.com
但是,尝试反复执行此命令时,我会得到混合结果,从 8 秒以上一直到某些时候的 100 秒。有人对如何缩短时间有什么建议吗?
编辑 3:我搞明白了,我需要出去为我的电脑买一个网络适配器,然后允许 VM 通过 USB 端口直接使用它。之后,我通过路由器为端口 80 和 443 设置了正确的端口转发,如果您的路由器遇到同样的问题,请务必仔细检查您的 SSL 证书安装等。结果发现这与 NGINX 无关(或几乎无关)。
我搞清楚了,我需要出去为我的电脑买一个网络适配器,然后允许虚拟机通过 USB 端口直接使用。之后,我通过路由器为端口 80 和 443 设置了正确的端口转发,如果您的路由器遇到同样的问题,请务必仔细检查您的 SSL 证书安装等。结果发现这与 NGINX 无关(或几乎无关)。