我有这个问题:
- 我从https://whatever.com/static/image.png直接读取(作为静态内容)图像。图像显示正确。
- 我用另一个文件覆盖了这个文件,然后我再次尝试访问https://whatever.com/static/image.png来读取它
- 接下来发生的事情似乎是以下两件事之一,但有点随机
:将显示新图像的截断版本,也就是说,除了底部部分之外的所有部分都将显示
b. 有时根本不提供图像并返回错误(在 Chromium 中):
Error 324 (net::ERR_EMPTY_RESPONSE): The server closed the connection without sending any data.
- 如果我重新启动 nginx,图像将显示得很好。
如果需要,我可以提供配置文件。
任何人都知道为什么会这样?
我注意到如果我关闭open_file_cache
该问题将不再出现,但我仍然在寻找不涉及关闭文件缓存的解决方案。
我不确定这是最好的解决方案,但它对我有用:
我将 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;