今天有同事找我,说图片上传之后,不知道去哪里了。分析了一下问题,找到原因之后做了处理,这里简要记录一下。

问题原因:

1.首先后台log并无错误信息;

2.捡查了一下浏览器,发现network中有报错,413 Request Entity Too Large,但前台未报错。

解决办法:

1.备份Nginx配置文件;(个人习惯,免得修改之后,如果需要还原,忘记原来的配置)

2.查看当前Nginx配置文件:

[root@VM_0_16_centos nginx]# cat nginx.conf | grep client_max_body_size

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

client_max_body_size    10m;

结果发现涉及到很多项目,继续查询

cat /etc/nginx/nginx.conf | grep -C  client_max_body_size

得到结果如下:

[root@VM_0_16_centos nginx]# cat /etc/nginx/nginx.conf | grep -C  client_max_body_size
# Load configuration files for the default server block.
#include /etc/nginx/default.d/*.conf; location ^~ /b1/ {
proxy_pass http://b1_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_b1.log main;
error_log /logs/nginx/error_api_b1.log info;
} location ^~ /bn/ {
proxy_pass http://bn_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_bn.log main;
error_log /logs/nginx/error_api_bn.log info;
} # 由于boss程序中web路径已经带/boss前缀,所以proxy_pass不能带/后缀,后续再调整,切记切记!
location ^~ /boss/ {
proxy_pass http://boss_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_boss.log main;
error_log /logs/nginx/error_api_boss.log info;
} location ^~ /detector/ {
proxy_pass http://detector_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
client_max_body_size 10m; access_log /logs/nginx/access_api_detector.log main;
error_log /logs/nginx/error_api_detector.log info;
} location ^~ /sales/ {
proxy_pass http://sales_server/;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_sales.log main;
error_log /logs/nginx/error_api_sales.log info;
} location ^~ /qn/prv/ {
proxy_pass http://private.haochuang.cn/;
} location ^~ /qn/pub/ {
--
error_log /logs/nginx/error_admin_boss.log info;
} location ^~ /boss/ {
proxy_pass http://boss_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
# client_max_body_size 10m; access_log /logs/nginx/access_api_boss.log main;
error_log /logs/nginx/error_api_boss.log info;
} location ^~ /stats/ {
proxy_pass http://stats_server;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $http_host;
proxy_set_header Connection close;
proxy_connect_timeout 5000ms;
client_max_body_size 10m; access_log /logs/nginx/access_api_stats.log main;
error_log /logs/nginx/error_api_stats.log info;
} location ^~ /qn/prv/ {
proxy_pass http://private.haochuang.cn/;
    }

3.修改配置文件:

location / {
root html;
index index.html index.htm;
client_max_body_size 1000m;
}

修改client_max_body_size 配置:

server
{
listen ;
server_name chat.erp.360buy.com;
#access_log /export/servers/nginx/logs/chat.erp.360buy.com;
location / {
proxy_pass http://tomcat;
client_max_body_size 10m; #表示最大上传10M,需要多大设置多大。
} }

3.重新加载配置文件,并重新加载nginx:

[root@VM_0_16_centos nginx]# /usr/sbin/nginx  -c /etc/nginx/nginx.conf

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:80 failed (98: Address already in use)

nginx: [emerg] bind() to 0.0.0.0:443 failed (98: Address already in use)

nginx: [emerg] still could not bind()

[root@VM_0_16_centos nginx]# /usr/sbin/nginx  -s reload

4.如果还未生效,重启nginx:

[root@VM_0_16_centos nginx]# /usr/sbin/nginx  -s reload

[root@VM_0_16_centos nginx]# service nginx restart

Redirecting to /bin/systemctl restart  nginx.service

5.再次验证结果,结果可见,最终问题已解决。

 
附录:
1.测试nginx配置是否正确
/usr/local/nginx/sbin/nginx -t

2.重新加载nginx,nginx相关参数

[root@VM_0_16_centos nginx]# which nginx

/usr/sbin/nginx

[root@VM_0_16_centos nginx]# /usr/sbin/nginx -h

nginx version: nginx/1.12.2

Usage: nginx [-?hvVtTq] [-s signal] [-c filename] [-p prefix] [-g directives]

Options:

-?,-h         : this help

-v            : show version and exit

-V            : show version and configure options then exit

-t            : test configuration and exit

-T            : test configuration, dump it and exit

-q            : suppress non-error messages during configuration testing

-s signal     : send signal to a master process: stop, quit, reopen, reload

-p prefix     : set prefix path (default: /usr/share/nginx/)

-c filename   : set configuration file (default: /etc/nginx/nginx.conf)

-g directives : set global directives out of configuration file

...



Nginx配置,413 Request Entity Too Large错误解决的更多相关文章

  1. Nginx出现“413 Request Entity Too Large”错误解决方法

    Nginx出现“413 Request Entity Too Large”错误解决方法 2011-03-25 13:49:55|  分类: 默认分类 |  标签:413  request  entit ...

  2. Nginx出现413 Request Entity Too Large错误解决方法

    Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打开nginx主配置文件nginx.conf,找到http{}段,添加 解决方法就是 打 ...

  3. Nginx 出现413 Request Entity Too Large 错误解决方法(上传大小限制)

    | 时间:2013-09-05 20:19:14 | 阅读数:485075 [导读] Nginx出现的413 Request Entity Too Large错误,这个错误一般在上传文件的时候出现,打 ...

  4. Nginx 出现413 Request Entity Too Large得解决方法

    Nginx 出现413 Request Entity Too Large得解决方法 默认情况下使用nginx反向代理上传超过2MB的文件,会报错413 Request Entity Too Large ...

  5. nginx解决超长请求串(413 request Entity too Large错误解决办法)

    <div class="hide-article-box text-center" style="display: block;"> <a c ...

  6. 上传文件报413 Request Entity Too Large错误解决办法

    产生这种原因是因为服务器限制了上传大小 1.nginx服务器的解决办法 修改nginx.conf的值就可以解决了 将以下代码粘贴到nginx.conf内 client_max_body_size 20 ...

  7. Nginx:413 Request Entity Too Large解决

    最近在做给博客添加上传PDF的功能,但是在测试上传文件的过程中遇到了413 Request Entity Too Large错误.不过这个无错误是很好解决的,这个错误的出现是因为上传的文件大小超过了N ...

  8. nginx 出现413 Request Entity Too Large问题的解决方法

    nginx 出现413 Request Entity Too Large问题的解决方法 使用php上传图片(大小1.9M),出现 nginx: 413 Request Entity Too Large ...

  9. wordpress 主题安装 您点击的链接已过期 nginx 出现413 Request Entity Too Large

    1 nginx 出现413 Request Entity Too Large 问题是限制上传大小,解决: 1.打开nginx配置文件 nginx.conf, 路径一般是:/etc/nginx/ngin ...

随机推荐

  1. Period kmp

    For each prefix of a given string S with N characters (each character has an ASCII code between 97 a ...

  2. 20165235 祁瑛 2018-4 《Java程序设计》第六周学习总结

    20165235 祁瑛 2018-4 <Java程序设计>第六周学习总结 教材学习内容总结 常用实用类 (一)1.String类是final类型的,String类型常量也是对象.2.可以使 ...

  3. day56 文件 文档处理,事件

    前情回顾: 1. 前情回顾 0. 选择器补充 - 属性选择器 - $("[egon]") - $("[type='text']") - $("inpu ...

  4. maven聚合工程无法install

    对于maven聚合工程,有时候执行maven命令进行mvn clean install时会出一些莫名奇妙的错误: 一直报告找不到符号,仔细看了项目源代码也不知道是什么原因.首先确保项目所在路径为英文路 ...

  5. javascript记忆

    Math.round()和ToFixed() Math.round(1.6)=2 Math.round(-1.4)=-1 var k = 1.74.toFixed(1), m = 1.75.toFix ...

  6. oracle连接连表查询时,两表的连接字段类型不一致的时候,会导致ora 01722无效数字错误,这时候需要转换

    类型不匹配,需要类型转换,函数:to_char()转换成字符,to_num()转换成数字

  7. JavaEE 之 Spring(二)

    1.AOP(面向切面编程) a.定义:AOP将分散在系统中的功能块放到一个地方——切面 b.重要术语: ①切面(Aspect):就是你要实现的交叉功能---共通业务处理可以被切入到多个目标对象.并且多 ...

  8. Qt5.11.1安装与VS2017配置

    Qt5.11.1安装与VS2017配置 转 https://blog.csdn.net/gaojixu/article/details/82185694 文章目录 Qt5.11.1安装与VS2017配 ...

  9. [译]the cost of javascript in 2018(1)

    前言 为了构建交互性网站,我们需要发送js给我们的用户,但很多情况下,我们使用了太多js. 在移动端,经常看到只加载了个点击链接或者滚动不了的情况. 实话说,js仍然是移动端最昂贵的资源,因为其在很大 ...

  10. js函数和变量的声明与执行顺序

    一.函数执行顺序 1.正常顺序 function f(){ alert(2); } f(); //alert 2 所有浏览器都能测试通过. 2.倒序调用 f(); //alert 2 function ...