解决nginx上传模块nginx_upload_module传递GET参数

简介: 解决nginx上传模块nginx_upload_module传递GET参数的方法总结   最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件。 很显然PHP无法轻易实现大文件上传, 因为会有各种各样的郁闷问题, 比如服务器超时等, 那么如何解决呢? 我想到了nginx...

解决nginx上传模块nginx_upload_module传递GET参数的方法总结

 

最近用户反映我们的系统只能上传50M大小的文件, 希望能够支持上传更大的文件。

很显然PHP无法轻易实现大文件上传, 因为会有各种各样的郁闷问题, 比如服务器超时等, 那么如何解决呢? 我想到了nginx_upload_module!!!

如何安装nginx_upload_module? 请看这里:nginx_upload_module安装使用教程

解决了大文件上传之后又遇到了新问题, 我们希望通过nginx_upload_module给后台php处理程序以GET方式传输数据(当然nginx_upload_module支持POST数据传递, 却不支持GET)

 

下面我解决nginx_upload_module使用GET传参的方法公布出来,希望能够帮助到和我一样需求的朋友!

 

修改nginx配置文件(程序站点配置文件test.conf)

1
2
3
4
5
6
7
location  /upload_waynerqiu  {
upload_pass_args on;
upload_resumable on;
upload_pass  /up_test .php?$args;
#此处省略掉详细配置…
#如需要详细的参考可查看http://waynerqiu.com/7/136.html
}

html表单代码(up_test.php,此页面即作为表单页同时也负责nginx_upload_module回调页面)

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
< html >
< head >
< title >Test upload</ title >
</ head >
< body
<? php
print_r($_REQUEST);
?>
< h2 >Select files to upload</ h2 >
< form  enctype = 'multipart/form-data'  action = '/upload_waynerqiu?who=abc&she=def'  method = 'post' >
< input  type = 'file'  name = 'file1' >< br
< input  type = 'submit'  name = 'submit'  value = 'Upload' >
< input  type = 'hidden'  name = 'test'  value = 'value' >
</ form >
< a  href = '/up_test.php' >back</ a >
</ body >
</ html >

 

从以上两段代中我们可以看出我试使用/upload_waynerqiu?who=abc&she=def 将who=abc&she=def传递到 后台nginx回调程序 up_test.php中, 这个过程中我使用了nginx变量 $args(更多nginx变量请看这里:http://waynerqiu.com/7/138.html)。

 

经过测试之后发现参数可以完美的传递来了! 

 

上图中红线部分即为使用nginx_upload_module传递过来的参数!

目录
相关文章
|
1月前
|
应用服务中间件 nginx
Nginx安装nginx-rtmp-module模块
【2月更文挑战第4天】 nginx中的模块虽然就是类似插件的概念,但是它无法像VsCode那样轻松的安装扩展。 nginx要安装其它模块必须同时拿到nginx源代码和模块源代码,然后手动编译,将模块打到nginx中,最终生成一个名为nginx的可执行文件。
71 6
|
3月前
|
应用服务中间件 nginx
百度搜索:蓝易云【利用nginx内置ngx_http_mirror_module模块实现流量复制及流量放大】
以上就是使用Nginx内置 `ngx_http_mirror_module`模块实现流量复制和流量放大的简要示例。通过合理配置和利用该模块,可以实现更复杂的流量控制和调试需求。
55 1
|
2月前
|
消息中间件 关系型数据库 MySQL
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
使用Nginx的stream模块实现MySQL反向代理与RabbitMQ负载均衡
60 0
|
3月前
|
监控 安全 前端开发
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
Nginx 访问日志中有 Get 别的网站的请求是什么原因?
33 0
|
3月前
|
存储 应用服务中间件 nginx
Nginx模块开发:handler模块实现
Nginx模块开发:handler模块实现
27 0
|
3月前
|
存储 应用服务中间件 nginx
Nginx模块开发:模块结构的源码阅读以及过滤器(Filter)模块的实现
Nginx模块开发:模块结构的源码阅读以及过滤器(Filter)模块的实现
64 0
|
3月前
|
存储 应用服务中间件 nginx
Nginx:过滤模块的实现
Nginx:过滤模块的实现
|
3月前
|
存储 负载均衡 网络协议
Nginx: handler 模块的实现
Nginx: handler 模块的实现
|
3月前
|
前端开发 应用服务中间件 nginx
nginx过滤器模块
nginx过滤器模块
|
3月前
|
应用服务中间件 nginx
nginx日志模块 ngx_http_log_module
nginx日志模块 ngx_http_log_module