设为首页 收藏本站
查看: 1730|回复: 0

[经验分享] nginx-upload模块介绍

[复制链接]

尚未签到

发表于 2018-11-16 13:40:42 | 显示全部楼层 |阅读模式
最近了解了一下Nginx的upload module功能蛮强大,记录了下来。  nginx-upload-prgress下载地址:http://wiki.nginx.org/NginxHttpUploadProgressModule
  nginx-upload-module下载地址及相关说明:http://www.grid.net.ru/nginx/upload.en.html
  配置Nginx如下,部分如下
  server
  {
  listen       80;
  server_name web.test.com;
  index index.html index.htm;
  root /data/html/www;
  if ($host = 'test.com' )
  {
  rewrite ^/(.*)$ http://web.test.com/$1 permanent;
  }
  if (-d $request_filename)
  {
  rewrite ^/(.*)([^/])$ http://$host/$1$2/ permanent;
  }
  # Upload form should be submitted to this location
  location /upload {
  # Set specified fields in request body
  upload_set_form_field "${upload_field_name}_name" $upload_file_name;
  upload_set_form_field "${upload_field_name}_content_type" $upload_content_type;
  upload_set_form_field "${upload_field_name}_path" $upload_tmp_path;

  # Inform backend about hash and>  upload_aggregate_form_field "${upload_field_name}_md5" $upload_file_md5;
  upload_aggregate_form_field "${upload_field_name}_size" $upload_file_size;
  upload_pass /test ;
  upload_pass_args on;
  upload_limit_rate 128k;
  upload_store /data/html/www/source/image/sourceImage;
  upload_store_access user:r;
  upload_pass_form_field "^.*$";
  upload_cleanup 400 404 499 500-505;
  }
  location /test {
  proxy_pass   http://localhost:10000/image/upload;
  }

  # Pass>  location ~ .*\.php {
  #fastcgi_pass  unix:/tmp/php-cgi.sock;
  fastcgi_pass  127.0.0.1:9000;
  fastcgi_index index.php;
  include fcgi.conf;
  }
  }
  大概解释一下每个参数
  upload_pass 指明了需要后续处理的地址
  upload_cleanup 如果出现400 404 499 500-505之类的错误,则删除上传的文件
  upload_store 上传文件存放地址
  upload_store_access 上传文件的访问权限,user:r是指用户可读
  upload_limit_rate 上传限速,如果设置为0则表示不限制
  upload_set_form_field 设定额外的表单字段。这里有几个可用的变量:
  $upload_file_name 文件原始名字
  $upload_field_name 表单的name值
  $upload_content_type 文件的类型
  $upload_tmp_path 文件上传后的地址
  upload_aggregate_form_field 额外的变量,在上传成功后生成
  $upload_file_md5 文件的MD5校验值
  $upload_file_size 文件大小
  upload_pass_form_field 从表单原样转到后端的参数,可以正则表达式表示官方的例子是upload_pass_form_field "^submit$|^description$";意思是把submit,description这两个字段也原样通过upload_pass传递到后端处理。如果希望把所有的表单字段都传给后端可以用upload_pass_form_field "^.*$";


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-635858-1-1.html 上篇帖子: php+nginx自动编译安装脚本 下篇帖子: nginx.conf变量学习笔记
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表