nginx 上传文件到服务器丢包,基于Nginx实现文件上传

基于Nginx实现文件上传

需要安装一个nginx-upload-module

不要使用master,会报错,缺少一个 md5.h

如下便是nginx的配置文件写的很详细了

location /upload

{

default_type application/json;

if ($request_method ~* "OPTIONS") {

return 200 '{"code": -1,"msg": "正在处理中..."}';

}

upload_pass /file/upload/deal; #文件上传完成后nginx将转发如下参数到后台处理

upload_resumable on; #断点续传

upload_store /tmp/upload_tmp; #文件保存地址

upload_limit_rate 500k; #上传限速 0 表示不限速

upload_store_access user:rw; #临时文件权限

upload_set_form_field "${upload_field_name}_name" $upload_file_name; #表单name值

upload_set_form_field "${upload_field_name}_content_type" $upload_content_type; #上传文件的类型

upload_set_form_field "${upload_field_name}_path" $upload_tmp_path; #文件上传后保存在服务器上的地址

upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5; #文件md5

upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size; #文件大小

#upload_pass_form_field "^submit$|^description$";

upload_pass_form_field "^.*$"; #表单参数

upload_pass_args on; #转发参数

upload_cleanup 400 404 499 500-505; #如果出现这些错误将删除保存的文件

}

如果想要查看上传进度,需要安装nginx-upload-progress-module

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您好!关于 "nginx upstream timeout" 的问题,这通常是由于 Nginx 在与后端服务器(upstream)建立连接或处理请求时超时导致的错误。当 Nginx 无法在预定的时间内完成与后端服务器的连接或处理请求时,就会触发该错误。 要解决这个问题,您可以尝试以下几种方法: 1. 增加 upstream 的超时时间:您可以在 Nginx 配置文件中增加 `proxy_connect_timeout` 和 `proxy_send_timeout` 的值来延长与后端服务器的连接和发送请求的超时时间。例如: ``` location / { proxy_pass http://your_upstream; proxy_connect_timeout 60s; proxy_send_timeout 60s; } ``` 2. 检查后端服务器的响应时间:如果后端服务器的响应时间过长,可能会导致 Nginx 超时。您可以检查后端服务器的负载情况、网络延迟等因素,确保后端服务器能够及时响应请求。 3. 调整 Nginx 的 worker 进程数和连接数:如果 Nginx 处理大量并发连接或请求,可能会导致超时。您可以尝试增加 Nginx 的 worker 进程数和连接数限制,以提高其处理能力。 4. 检查网络连接:确保 Nginx 和后端服务器之间的网络连接正常,没有或延迟等问题。 请注意,在进行任何更改之前,建议备份您的 Nginx 配置文件,并在更改后重新加载 Nginx 以使更改生效。 希望这些方法能帮助您解决 "nginx upstream timeout" 的问题!如果您有任何进一步的问题,请随时提问。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值