/var/lib/nginx/proxy 来自哪里?

/var/lib/nginx/proxy 来自哪里?

我有一个通过设置配置为代理的服务器:

proxy_cache_path /var/lib/nginx/cache levels=1:2 keys_zone=backcache:8m max_size=20g inactive=7d;
proxy_cache_key "$scheme$request_method$host$request_uri$is_args$args";

尽管如此,当我启动 nginx 时,我最终还是得到了 /var/lib/nginx/proxy。两者都开始填满,最终硬盘也填满了。

如果我尝试将 proxy_cache_path 指向 /var/lib/nginx/proxy,则会收到错误:

nginx: [emerg] the same path name "/var/lib/nginx/proxy" used in /etc/nginx/conf.d/proxy.conf:1 and in /etc/nginx/nginx.conf:62
nginx: configuration file /etc/nginx/nginx.conf test failed

nginx.conf 的第 62 行只是 http{} 部分的结尾,因此我认为这是在抱怨我试图覆盖的“默认”。

我不知道如何禁用这个代理配置,因为它似乎与我设置的显式配置重复。有没有办法覆盖/删除该默认代理配置?

答案1

原来问题出在/var/lib/nginx/proxyproxy_temp_path通常 nginx 会下载到这个临时路径,然后移动文件移至真实的下载完成后,缓存目录。

我们肯定有很多东西没有下载完,或者从未进入主缓存,所以磁盘就满了。

在这种情况下,解决方案是关闭 temp_path 的使用(使用nginx 1.7.10 或更高版本上的指令use_temp_path=off上的参数)。proxy_cache_path

相关内容