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

问题原因:

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. python josn包

    Python josn包中的编码与解码方法 对于Python数据类型进行编码解码 json.dumps  对python的数据类型进行json格式编码 :(将dict转为json格式) eg: imp ...

  2. 018 easygui的使用

    一:安装 1.说明 看到小甲鱼的视频,也看了一些人家的安装,感觉不是太好. 还是想使用pip这种傻瓜的安装方式. 这个地方在实验了很多次,总算是可以了. 2.安装 3.测试 二:小测试 1.输入窗口 ...

  3. 060 SparkStream 的wordcount示例

    1.SparkStream 入口:StreamingContext 抽象:DStream 2.SparkStreaming内部原理 当一个批次到达的时候,会产生一个rdd,这个rdd的数据就是这个批次 ...

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

    2018-03-11 20165235祁瑛<Java程序设计>第二周学习总结 教材学习内容总结 第二章要点: 在这一章中我学到了很多东西: (1)布尔类型boolean,布尔类型的赋值只能 ...

  5. day8数据类型补充,集合,深浅拷贝

    思维导图: 集合的补充:下面的思维导图有一个点搞错了,在这里纠正一下,没有合集,是反交集,^这个是反差集的意思 . 交集&,反交集^,差集-,并集|,然后就是子集和超集 数据类型补充: ''' ...

  6. Ubuntu16.04下的modules模块编译加载

    一.首先编写对应的驱动程序的相关内容:(最简单的hello.c程序) #include<linux/init.h> #include<linux/module.h> MODUL ...

  7. 003.Ansible基础使用

    一 Ansible命令用法 Ansible命令行执行方式有:Ad-Hoc.Ansible-playbook两种,Web方式其官方提供付费产品Tower.Ad-Hoc主要用于临时命令的执行,Ansibl ...

  8. spring boot默认访问静态资源

    演示spring boot默认可以直接访问静态资源的2种方法: 第一种:在src/main/resources资源目录下创建一个名为"static"的文件夹(该文件夹的名称是规定死 ...

  9. 【C#】用委托(Delegate)的BeginInvoke和EndInvoke方法操作线程

    让我们首先了解下什么时候用到C#异步调用: .NET Framework 允许您C#异步调用任何方法.定义与您需要调用的方法具有相同签名的委托:公共语言运行库将自动为该委托定义具有适当签名的Begin ...

  10. C# 的Chart

    Axis Label 横纵坐标的文字 (比如 0 20 40 ....) Axis Title 横纵坐标的代表什么(比如 Y Axis Title) Chart Area 图标所在位置 Chart P ...