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

问题原因:

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. spring开发需要的配置文件

    1,applicationContext-dao.xml <?xml version="1.0" encoding="UTF-8"?><bea ...

  2. IdentityServer4.AccessTokenValidation

    IdentityServer4.AccessTokenValidation Authentication handler for ASP.NET Core 2 that allows acceptin ...

  3. vue源码的构建

    一.vue构建的基本了解 1,开始学习vue的源码的学习,vue.js是基于rollup构建的 它的配置在 scripts下面 rollup是webpack的简小版针对于js进行压缩的,没有提供复杂的 ...

  4. POJ 1523 SPF (无向图割点)

    <题目链接> 题目大意: 给你一个连通的无向图,问你其中割点的编号,并且输出删除该割点后,原图会被分成几个连通分量. 解题分析: Tarjan求割点模板题. #include <cs ...

  5. datatables数据渲染自定义

    "data": "ip",渲染回调函数中的data['ip']字段将传给render函数中的data:render函数的返回内容将代替"data&qu ...

  6. 004.etcd集群部署-动态发现

    一 etcd发现简介 1.1 需求背景 在实际环境中,集群成员的ip可能不会提前知道.如使用dhcp自动获取的情况,在这些情况下,使用自动发现来引导etcdetcd集群,而不是指定静态配置,这个过程被 ...

  7. Linux学习笔记7

    执行脚本篇章 r w x 读  写 执行 4 2 1 如果要启动tomcat 服务器 即执行 startup.sh脚本文件 1> #chmod 444 startup.sh 增加文本读权限 -r ...

  8. Python itertools模块详解

    这货很强大, 必须掌握 文档 链接 http://docs.python.org/2/library/itertools.html pymotw 链接 http://pymotw.com/2/iter ...

  9. BZOJ.4340.[BJOI2015]隐身术(后缀数组 搜索)

    BZOJ \(Description\) 给定两个串\(S,T\)以及一个数\(k\),求\(T\)中有多少个子串,满足和\(S\)的编辑距离不超过\(k\). \(|S|+|T|\leq10^5,\ ...

  10. SSH(Spring SpringMVC Hibernate)框架整合

    项目说明: 使用SSH(Spring SpringMVC Hibernate)框架整合添加部门功能 项目结构   1.导入依赖jar包 <!--单测--> <dependency&g ...