curl上传文件方法

nginx反向代理可以下载,也可以上传,今天试试上传文件的方法

  • curl上传参数 -T

 

编译安装nginx,添加模块--with-http_dav_module模块

 

创建上传文件的临时目录

mkdir -p /dev/shm/client_body_temp
chown -R nginx.nginx /dev/shm/client_body_temp
mkdir -p /var/bh/bak/tfiles/
/var/bh/bak/tfiles/

 

添加nginx location配置

location /tfiles/ {
# 刚刚创建的临时目录
client_body_temp_path /dev/shm/client_body_temp 1 2;
# 文件的上传目录,nginx服务用户要有写的权限
alias /var/bh/bak/tfiles/;
autoindex on;
# 默认是关闭PUT功能的,添加这行开启
dav_methods PUT;
}

 

重启nginx,在客户端测试

curl -T upload_file http://myserver.com/tfiles/

 

可以看到服务端目录/dev/shm/client_body_temp在不断的增涨,待文件上传完成后,会移到上传目录

 

FAQ1:

上传时发生报错:

<head><title>413 Request Entity Too Large</title></head>

需要给nginx加大缓存包体

proxy_headers_hash_max_size 51200;
proxy_headers_hash_bucket_size 6400;
client_max_body_size 20m;
proxy_buffer_size 10240k; #设置代理服务器(nginx)保存用户头信息的缓冲区大小
proxy_buffers 16 10240k; #proxy_buffers缓冲区,网页平均在32k以下的设置
proxy_busy_buffers_size 20480k; #高负荷下缓冲大小(proxy_buffers*2)
proxy_temp_file_write_size 20480k;#设定缓存文件夹大小,大于这个值,将从upstream服务器传

 

posted @   走戏园  阅读(4949)  评论(0编辑  收藏  举报
编辑推荐:
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
阅读排行:
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
点击右上角即可分享
微信分享提示