战争文件应该有多大?

时间:2013-04-09 15:24:13

标签: java tomcat tomcat7 war grails-2.2

Tomcat 7 manager将war文件大小限制为50 Mo.

  • 为什么这个50 Mo的限制?
  • 最大战争文件大小应该是多少? (在实践中)

我正在使用Grails 2.2,它产生28 Mo的最小WAR。 因此,50分钟的限制非常容易达到。

5 个答案:

答案 0 :(得分:23)

这只是您通过Tomcat 7管理器上传和部署的限制。您可以部署到tomcat服务器的war文件的大小没有限制。

Here是一个可以帮助您增加此上传大小的链接。

引自链接 -

  

转到管理器应用程序的web.xml(例如它可能是   在/tomcat7/webapps/manager/WEB-INF/web.xml下。增加   max-file-size和max-request-size:

<!– 50MB max –>

 <max-file-size>52428800</max-file-size>

 <max-request-size>52428800</max-request-size>

 <file-size-threshold>0</file-size-threshold>

 </multipart-config>

答案 1 :(得分:8)

如果您使用的是Tomcat 8,则max-file-size不再位于web.xml中。而是打开conf/server.xml并找到HTTP连接器的标记条目。然后添加

maxPostSize="0"

此标记的属性和值。完成conf/server.xml文件的编辑后,保存并重新启动Apache Tomcat。

答案 2 :(得分:6)

50 MB默认文件大小限制不是硬编码的,您可以在webapp文件夹的Manager应用程序的web.xml文件中进行更改。您必须增加max-file-sizemax-request-size

<!– 50MB max –>
<max-file-size>52428800</max-file-size>
<max-request-size>52428800</max-request-size>
<file-size-threshold>0</file-size-threshold>

将当前值替换为您需要的适当值。

答案 3 :(得分:0)

转到管理器应用程序的web.xml(例如,它可能位于/tomcat7/webapps/manager/WEB-INF/web.xml

将max-file-size和max-request-size增加到例如100Mb

答案 4 :(得分:-1)

在tomcat7中,更新tomcat7/server.xml。我在ubuntu中安装了tomcat7,所以目录如下所示

ll /etc/tomcat7/
total 220
drwxr-xr-x   4 root root      4096 Oct  6 18:14 ./
drwxr-xr-x 136 root root     12288 Oct  6 16:12 ../
drwxrwxr-x   3 root tomcat7   4096 Sep 23 15:44 Catalina/
-rw-r--r--   1 root tomcat7   6506 Jun 27 12:48 catalina.properties
-rw-r--r--   1 root tomcat7   1394 Jan 25  2014 context.xml
-rw-r--r--   1 root tomcat7   2370 Feb 18  2016 logging.properties
drwxr-xr-x   2 root tomcat7   4096 Sep 23 16:06 policy.d/
-rw-r--r--   1 root tomcat7   6716 Oct  6 18:14 server.xml
-rw-r-----   1 root tomcat7   1607 Sep 23 15:50 tomcat-users.xml
-rw-r--r--   1 root tomcat7 168099 Nov 25  2015 web.xml

您会在配置文件etc/tomcat7/server.xml中看到连接器部分,

<!-- A "Connector" represents an endpoint by which requests are received
     and responses are returned. Documentation at :
     Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
     Java AJP  Connector: /docs/config/ajp.html
     APR (HTTP/AJP) Connector: /docs/apr.html
     Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443"/>

停止tomcat,最后添加maxPostSize

sudo service tomcat7 stop

更新server.xml中的连接器

<!-- A "Connector" represents an endpoint by which requests are received
     and responses are returned. Documentation at :
     Java HTTP Connector: /docs/config/http.html (blocking & non-blocking)
     Java AJP  Connector: /docs/config/ajp.html
     APR (HTTP/AJP) Connector: /docs/apr.html
     Define a non-SSL HTTP/1.1 Connector on port 8080
-->
<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           URIEncoding="UTF-8"
           redirectPort="8443" 
           maxPostSize="57000000"/>

然后重启tomcat。

sudo service tomcat7 start