Nginx 出现新覆盖镜像的问题

Nginx 出现新覆盖镜像的问题

我有这个问题:

  1. 我直接读取(作为静态内容)来自的图像https://whatever.com/static/image.png. 图像显示正常。
  2. 我用另一个文件覆盖了这个文件,然后再次尝试读取它https://whatever.com/static/image.png
  3. 接下来发生的事情似乎是下面两件事之一,但有点随机:
    a. 将显示新图像的截断版本,也就是说,除了底部的部分之外,其余部分都将显示
    。b. 有时根本不提供图像并返回错误(在 Chromium 中):
    Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
  4. 如果我重新启动 nginx,图像就可以正常显示。

如果需要的话,我可以提供配置文件。

有人知道为什么会发生这种情况吗?

我注意到如果我关闭,open_file_cache问题就不会再出现,但我仍然在寻找一种不涉及关闭文件缓存的解决方案。

答案1

我不确定这是最好的解决方案,但它对我来说很有用:
我将 nginx.conf 中的这些行更改 为 ,现在它通常可以正常工作。
open_file_cache max=5000 inactive=8h;
open_file_cache_errors on;
open_file_cache_valid 1h;
open_file_cache_min_uses 1;


open_file_cache max=8000 inactive=5m;
open_file_cache_errors on;
open_file_cache_valid 5m;
open_file_cache_min_uses 20;

相关内容