proxy_temp_path用于暂存代理响应体超出内存缓冲的临时文件,非缓存目录;需在http块配置绝对路径、手动创建并赋权、指定层级(如1 2),且依赖proxy_buffering生效。

proxy_temp_path 是 Nginx 反向代理中用于暂存上游响应体的临时文件目录,它不直接控制最终缓存(那是 proxy_cache_path 的职责),而是在代理过程中、当响应体过大或无法完全放入内存缓冲区时,Nginx 将超出部分写入磁盘临时文件——proxy_temp_path 就是这些临时文件的存放根路径。
proxy_temp_path 的作用和触发场景
- 当后端返回的响应体体积超过
proxy_buffer_size+proxy_buffers总和时,Nginx 会将溢出部分写入磁盘临时文件; - 常见于大文件下载、图片上传响应、未启用缓存但响应体较大等情况;
- 该路径下的文件是临时中转用途,请求结束后会被自动清理(除非异常中断导致残留);
- 它与
proxy_cache_path完全独立:一个管“中转暂存”,一个管“主动缓存”。
基本配置语法与位置
必须在 http 或 server 或 location 块中设置,推荐放在 http 块统一管理:
安全更新和维护 CLI Proxy API(CPA)部署与配置。用于 CPA 镜像升级、配置变更、认证目录兼容修复、上线验证与回滚。适用于用户提到“CPA 更新/升级/配置改了/容器重建/回滚”等场景。
http {
proxy_temp_path /var/tmp/nginx/proxy_temp 1 2;
# 后两个数字表示子目录层级和每级目录数(如 1 2 → /a/ /b/ ...;2 3 → /a/b/ /a/c/ ...)
server {
location / {
proxy_pass http://backend;
proxy_buffering on; # 必须开启才能用到 temp_path
}
}
}- 第一个参数
/var/tmp/nginx/proxy_temp是根路径,需确保 Nginx 工作用户(如nginx或www-data)有读写权限; - 后续两个整数(可选)定义多级哈希子目录结构,避免单目录下文件过多影响性能;
- 若不显式配置,Nginx 使用编译时默认路径(通常为
/var/tmp/nginx/proxy_temp或/tmp/nginx/proxy_temp),但生产环境务必显式指定并挂载在高速本地磁盘(非网络存储或 tmpfs)。
实际部署注意事项
- 磁盘空间与 IO 要求:临时文件可能频繁读写,建议使用 SSD 或专用本地分区,避免与系统日志或数据库共用同一磁盘;
-
权限检查:
sudo chown -R nginx:nginx /var/tmp/nginx/proxy_temp sudo chmod -R 750 /var/tmp/nginx/proxy_temp
-
清理残留文件:异常终止可能导致临时文件残留,可配合定时任务清理(但不要误删正在使用的文件):
find /var/tmp/nginx/proxy_temp -type f -mmin +60 -delete
-
不建议关闭 buffering 来规避:设
proxy_buffering off会禁用所有缓冲(包括 temp_path),导致响应直通、无法处理分块传输或超大响应流控,反而增加后端压力和连接风险。
和 proxy_cache_path 的关键区别
| 特性 | proxy_temp_path |
proxy_cache_path |
|---|---|---|
| 用途 | 响应体中转暂存(被动、临时) | 主动缓存后端响应(持久、可复用) |
| 生命周期 | 单次请求结束即清理(正常情况下) | 按 proxy_cache_valid 等策略长期保留 |
是否需要 proxy_cache 指令 |
否 | 是(必须配合启用缓存) |
| 是否影响缓存命中 | 否 | 是(直接影响缓存效果) |
如果你的目标是提升静态资源访问速度或减轻后端压力,重点应配置 proxy_cache_path + proxy_cache;proxy_temp_path 更像是一个底层支撑机制,需关注但无需过度调优。

















