php大文件下载502,php+nginx上传大文件502BadGateway
由于php每天要接收其它服务器post过来的文件
比如我在:192.168.1.147上用下面这条命令
wget http://192.168.1.148/upload.php --post-file=msg.log
这个msg.log 有50M,进行post msg.log这个文件到148服务器的php上存储,进行入库
首先说明:
不要问我怎么不直接复制文件,要用php接收?
我现在讨论的是这个问题,谢谢。
原因:
首次调用出现了:
HTTP request sent, awaiting response... 413 Request Entity Too Large
我按照网上的教程改nginx配置
改为:
client_max_body_size 100m;
满以为解决问题,再次执行报错。
HTTP request sent, awaiting response... 502 Bad Gateway
网上有的说php.ini要配置,但是我的php.ini 配置是64M
max_execution_time 300 300
max_file_uploads 20 20
max_input_nesting_level 64 64
max_input_time 60 60
max_input_vars 1000 1000
memory_limit 128M 128M
open_basedir no value no value
output_buffering 4096 4096
output_handler no value no value
post_max_size 64M 64M
upload_max_filesize 64M 64M
都找了好多,都是说配置php.ini, nginx.conf,还有php-fpm.conf的request_terminate_timeout=0,
最后没用,自己试试就知道了,不多说了,多谢好人!
回复内容:
由于php每天要接收其它服务器post过来的文件
比如我在:192.168.1.147上用下面这条命令
wget http://192.168.1.148/upload.php --post-file=msg.log
这个msg.log 有50M,进行post msg.log这个文件到148服务器的php上存储,进行入库
首先说明:
不要问我怎么不直接复制文件,要用php接收?
我现在讨论的是这个问题,谢谢。
原因:
首次调用出现了:
HTTP request sent, awaiting response... 413 Request Entity Too Large
我按照网上的教程改nginx配置
改为:
client_max_body_size 100m;
满以为解决问题,再次执行报错。
HTTP request sent, awaiting response... 502 Bad Gateway
网上有的说php.ini要配置,但是我的php.ini 配置是64M
max_execution_time 300 300
max_file_uploads 20 20
max_input_nesting_level 64 64
max_input_time 60 60
max_input_vars 1000 1000
memory_limit 128M 128M
open_basedir no value no value
output_buffering 4096 4096
output_handler no value no value
post_max_size 64M 64M
upload_max_filesize 64M 64M
都找了好多,都是说配置php.ini, nginx.conf,还有php-fpm.conf的request_terminate_timeout=0,
最后没用,自己试试就知道了,不多说了,多谢好人!
nginx配置:
keepalive_timeout 600;
proxy_send_timeout 600;
client_max_body_size 200M;
fastcgi_connect_timeout 600;
fastcgi_send_timeout 600;
fastcgi_read_timeout 600;
fastcgi_buffer_size 1024k;
fastcgi_buffers 8 1024k;
fastcgi_busy_buffers_size 1024k;
fastcgi_temp_file_write_size 1024k;
proxy_ignore_client_abort on;
tcp_nopush on;
tcp_nodelay on;
client_header_timeout 600;
client_body_timeout 600;
sendfile on;
send_timeout 600;
php的配置或php-fpm上传大小配置及post大小也需要修改
根据你的实际情况修改上边的配置吧
具体原因不清楚, 不过502错误一般都是PHP那边出了问题
不是没响应,就是响应时间过长,等。
这里已经和nginx没什么关系了
我在Xubuntu 14.04上用测试PHP CLI Server,只配置了下面两条,其他都是默认配置,就能上传90多MB的ZIP包了.
upload_max_filesize=100M
post_max_size=128M
php -S 127.0.0.1:8080 -t /png/www/example.com/public_html/
// chmod 777 /png/www/example.com/public_html/app/yab/static/
// http://127.0.0.1:8080/app/yab/upload.php
';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
echo "File is valid, and was successfully uploaded.\n";
} else {
echo "Possible file upload attack!\n";
}
echo 'Here is some more debugging info:';
print_r($_FILES);
print "";
exit();
}
?>
输出:
File is valid, and was successfully uploaded.
Here is some more debugging info:Array
(
[userfile] => Array
(
[name] => firefox.zip
[type] => application/zip
[tmp_name] => /tmp/phpG1PdtU
[error] => 0
[size] => 93938426
)
)
同时本地测试了Nginx + PHP-FPM,Nginx只修改了下面这个配置:
client_max_body_size 128M;
经过我测试,上传文件是可以上传成功的,但是我用wget --post-file 就返回502错误
wget可能有限制大文件上传,
用curl命令搞定:
curl -T "msg.log" "http://192.168.1.148/upload.php"
谢谢大家 结贴!
nginx_module_upload
你把php的执行时间调大一点,另外上传超时也调大一点。
set_time_limit(),max_input_time之类的。你是不是第一次调完后再上传会等一会儿才报502错?
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网
php大文件下载502,php+nginx上传大文件502BadGateway相关推荐
- php上传文件502,php+nginx 上传大文件 502 Bad Gateway
由于php每天要接收其它服务器post过来的文件 比如我在:192.168.1.147上用下面这条命令 wget http://192.168.1.148/upload.php --post-file ...
- 使用nginx上传大文件报500异常处理
当项目使用nginx代理时,上传大的文件会报500服务已异常,解决方案: 1.nginx配置文件nginx.conf中配置 client_body_buffer_size 10m; #缓存区大小 cl ...
- Nginx 上传大文件超大超时解决办法
问题:用nginx作代理服务器,上传大文件时(本人上传8M左右的文件),提示上传超时或文件过大. 浏览器调试报413 (Request Entity Too Large)错误,如下图所示 原因是ngi ...
- Nginx上传大图片或者大文件失败
问题出现:使用nginx做反向代理或者请求转发时小的图片或者文件可以上传成功,大的失败,请求被终止 根据官方文档说明,可以在nginx配置文件中http.server.location等配置块添加配置 ...
- Nginx 上传大文件配置
Nginx 配置大文件上传 nginx问题 解决方法 重启nginx nginx问题 遇到的问题: Nginx: 413 – Request Entity Too Large Error and So ...
- tornado+nginx上传视频文件
[http://arloz.me/tornado/2014/06/27/uploadvideotornado.html] [NGINX REFRER: Nginx upload module] 由于t ...
- java文件下载controller_Java Spring MVC 上传下载文件配置及controller方法详解
下载: 1.在spring-mvc中配置(用于100M以下的文件下载) 下载文件代码 @RequestMapping("/file/{name.rp}") public Respo ...
- 502 bad gateway php-fm,php+nginx 上传大文件 502 Bad Gateway
由于php每天要接收其它服务器post过来的文件 比如我在:192.168.1.147上用下面这条命令 wget http://192.168.1.148/upload.php --post-file ...
- 【上传】Nginx 上传文件
本文包含知识点: 1.nginx服务搭建 2.nginx文件上传模块搭建 3.文件重命名服务搭建 3.nginx整体配置 4.测试 引言 一般可以应用在上传不是跟频繁的场景,都可以采用Nginx上传文 ...
最新文章
- Unity 3D游戏代码编程学习教程 Full Guide To Unity 3D C#: Learn To Code Making 3D Games
- JNDI数据库连接池的配置
- ES6学习(五) -- 箭头函数
- [Modules]PrestaShop插件 模块 – 产品推荐模块 随机展示推荐产品
- MediaCodec在Android视频硬解码组件的应用
- 第五期 IP数据包结构和OSI第三层网络层
- 数据库的binlog、redolog以及undolog
- php经典面试题时间,php 经典面试题及答案
- Dubbo使用启动时检查 check=“true“
- Bash教程之模式扩展
- 判断 json html标签,javascript如何判断是否为json?
- mysql与串口通信_串口通信 - ShawnXie - 博客园
- 程序设计竞赛(ACM)与认证(CCF)的概念集(百度百科)
- Android项目模块化/组件化开发(非原创)
- php中x22是什么意思,我想问一下:联想s22e和x22区别哪款好用点??真实反馈一下!!...
- 抽象工厂模式(优缺点、使用场景、具体实现)
- rpm安装包安装方式
- 电脑找不到硬盘的解决方案
- 找最大ASCII字符
- 【Flutter实战】六大布局组件及半圆菜单案例