装好nginx或者tomcat后,Java应用(Nginx是通过proxy来调用Tomcat应用的)如果POST比较大的数据,会报错
所以需要对Tomcat和Nginx进行一些参数调整,如果是SpringBoot的tomcat应用,则需要对application.properties调整
Tomcat调整
找到tomcat目录下的/conf/server.xml,修改配置文件,找到Connector,添加maxPostSize参数
我这里设置的是-1,表示不做大小限制(因为我这边上层还有nginx,只需要在nginx设置好就可以了)。
不设置maxPostSize参数意为使用默认的大小,默认2097152,单位是bytes,即为2097152/1024 = 2048KB = 2MB
tomcat7.0.63之前 给maxPostSize设置小于等于0的值都可表示不限制,但是之后的Tomcat版本默认2MB就有点小了,所以要自定义设置!
SpringBoot调整
修改application.properties
server.tomcat.max-http-form-post-size=50MB
nginx调整
如果你的Tomcat上层还有nginx,那么可以调整nginx
找到nginx的配置文件(可能是/etc/nginx/nginx.conf)
在server下增加client_max_body_size:
http { # 其他配置省略 # 为了快速寻找到相应MIME type,Nginx使用散列表来存储MIME type与文件扩展名。 types_hash_max_size 2048; # hash表可保存服务器名字的数量(32的倍数) server_names_hash_bucket_size 512; server { # 其他配置省略 # client_max_body_size 修改大一些 client_max_body_size 50m; } }
例子里client_max_body_size应该是post的时候,body的大小,我改成了50MB,重新启动systemctl restart nginx就可以生效了!
文章评论