我反复在 nginx 日志中看到此错误:
[crit] 30165#0: ngx_slab_alloc() failed: no memory in cache keys zone "api-data-cache"
查看用于缓存键区域的目录,我可以看到它徘徊在326MB标记:
du -s /usr/local/nginx/cache/
326652
但是我的 nginx.conf 指定max_size
了1GB,因此应该有足够的空间:
proxy_cache_path /usr/local/nginx/cache levels=1:2 keys_zone=api-data-cache:8m max_size=1g inactive=600m;
proxy_cache_key "$scheme$host$request_uri/$device_type$cookie_w3tc_referrer";
proxy_cache_use_stale updating timeout http_500 http_502 http_503 http_504;
proxy_ignore_headers X-Accel-Expires Expires Cache-Control;
这里可能发生了什么?磁盘空间充足(>50GB 可用),但在文档,我有点不知所措。