Хотя другие ответы включают в себя некоторые из следующих сведений, это абсолютный минимум, который необходимо изменить в экземплярах EC2, , особенно в отношении развертывания больших файлов WAR , и он наименее вероятно может вызвать проблемы будущие обновления. Я сталкивался с этими ограничениями примерно раз в два года из-за постоянно увеличивающегося размера файла WAR Jenkins (сейчас ~ 72 МБ).
Более конкретно, этот ответ применим, если вы встретите вариант следующей ошибки в catalina.out
:
SEVERE [https-jsse-nio-8443-exec-17] org.apache.catalina.core.ApplicationContext.log HTMLManager:
FAIL - Deploy Upload Failed, Exception:
[org.apache.tomcat.util.http.fileupload.FileUploadBase$SizeLimitExceededException:
the request was rejected because its size (75333656) exceeds the configured maximum (52428800)]
В экземплярах Amazon EC2 Linux файл only , который необходимо изменить из установки Tomcat по умолчанию (sudo yum install tomcat8
), выглядит следующим образом:
/usr/share/tomcat8/webapps/manager/WEB-INF/web.xml
По умолчанию максимальный размер загрузки составляет ровно 50 МБ:
<multipart-config>
<!-- 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>
Существует только два значения, которые необходимо изменить (max-file-size
и max-request-size
):
<multipart-config>
<!-- 100MB max -->
<max-file-size>104857600</max-file-size>
<max-request-size>104857600</max-request-size>
<file-size-threshold>0</file-size-threshold>
</multipart-config>
Когда Tomcat обновляется в этих экземплярах, новая версия менеджера web.xml
будет помещена в web.xml.rpmnew
, поэтому любые изменения исходного файла не будут перезаписаны во время будущих обновлений.