Ошибка при попытке развернуть приложение на сервере tomcat7
Я пытаюсь развернуть веб-приложение на tomcat7 через eclipse luna, но я получаю эту ошибку:
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4.936 s
[INFO] Finished at: 2014-08-15T22:10:04-03:00
[INFO] Final Memory: 13M/112M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:deploy (default-cli) on project loja: Cannot invoke Tomcat manager: Connection reset -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR]
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/MojoExecutionException
Я также пытаюсь развернуть tomcat8, но я получаю эту же ошибку.
В моем pom.xml у меня есть эта конфигурация, связанная с этой операцией:
<build>
<finalName>loja</finalName>
<plugins>
<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.2</version>
<configuration>
<url>http://localhost:8080/manager/text</url>
<server>TomcatServer</server>
<path>/loja</path>
<username>user001</username>
<password>123</password>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
Кто-нибудь знает, что здесь происходит?
UPDATE
Я пытаюсь развернуть приложение с помощью команды mvn:tomcat7 deploy -X
, а вывод:
[INFO] Retrying request
[DEBUG] Reopening the direct connection.
[DEBUG] Connecting to localhost:8080
[DEBUG] Attempt 4 to execute request
[DEBUG] Sending request: PUT /manager/text/deploy?path=%2Floja HTTP/1.1
[DEBUG] >> "PUT /manager/text/deploy?path=%2Floja HTTP/1.1[\r][\n]"
[DEBUG] >> "User-Agent: Apache Tomcat Maven Plugin/2.2[\r][\n]"
[DEBUG] >> "Content-Length: 18783041[\r][\n]"
[DEBUG] >> "Host: localhost:8080[\r][\n]"
[DEBUG] >> "Connection: Keep-Alive[\r][\n]"
[DEBUG] >> "Authorization: Basic dXNlcjAwMToxMjM=[\r][\n]"
[DEBUG] >> "[\r][\n]"
[DEBUG] >> PUT /manager/text/deploy?path=%2Floja HTTP/1.1
[DEBUG] >> User-Agent: Apache Tomcat Maven Plugin/2.2
[DEBUG] >> Content-Length: 18783041
[DEBUG] >> Host: localhost:8080
[DEBUG] >> Connection: Keep-Alive
[DEBUG] >> Authorization: Basic dXNlcjAwMToxMjM=
Uploading: http://localhost:8080/manager/text/deploy?path=%2Floja
...
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Closing the connection.
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 shut down
[DEBUG] Connection 0.0.0.0:53183<->127.0.0.1:8080 closed
[DEBUG] Connection released: [id: 0][route: {}->http://localhost:8080][total kept alive: 0; route allocated: 0 of 2; total allocated: 0 of 5]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 5.271 s
[INFO] Finished at: 2014-08-16T08:11:09-03:00
[DEBUG] Connection manager is shutting down
[INFO] Final Memory: 14M/109M
[INFO] ------------------------------------------------------------------------
[DEBUG] Connection manager shut down
Ответы
Ответ 1
Хорошо, у меня была такая же проблема с tomcat7.
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
Uploading: http://localhost:8080/manager/text/deploy?path=%2iplover
Я не мог заставить его работать с
mvn tomcat7:redeploy
как упоминалось здесь.
Моя WAR была не очень большой, всего 4 МБ.
Вот коренная проблема и решение
Важно, чтобы ваш tomcat-users.xml
установил правильную настройку ролей. У меня ТОЛЬКО была роль manager
. Добавление manager-script
кажется важным и полностью решило мою проблему.
<role rolename="manager"/>
<role rolename="manager-script"/>
<role rolename="manager-gui"/>
<user username="admin" password="admin" roles="manager,manager-gui,manager-script"/>
Ответ 2
Я не знаю, решила ли кто-нибудь эту проблему. Я нашел обходное решение в моем случае: использование redeploy вместо развертывания отлично работает.
Возможно, проблема связана с проблемой памяти или доступом для чтения/записи, не так ли?
Ответ 3
Какой размер вашей войны? возможно, это потому, что размер слишком велик. По умолчанию диспетчер tomcat допускает меньше войны размером менее 50 МБ. также попробуйте mvn tomcat7: повторно разверните вместо развертывания.
См. здесь, как увеличить ограничение размера войны
Ответ 4
По умолчанию Tomcat имеет максимальный размер загрузки 50 МБ. (Т.е. максимальный размер файла WAR
)
Если вам нужен файл большего размера, попробуйте увеличить max-file-size
и max-request-size
в web.xml
tomcat web.xml
. Примечание: оба значения хранятся в байтах.
Изменить .../webapps/manager/WEB-INF/web.xml
. (Убедитесь, что размеры файлов больше, чем файл war
который вы пытаетесь загрузить). Т.е. если вам требуется 80MB WAR,
<max-file-size>82914560</max-file-size>
<max-request-size>82914560</max-request-size>
Затем перезапустите Apache Tomcat.
https://octopus.com/blog/tomcat-manager-deployment
Ответ 5
У меня была одна и та же проблема, и я решил ее, выполнив цель maven
tomcat7: redeploy
вместо
tomcat7: развернуть
Он работал как для tomcat7, так и для tomcat8, и мой файл войны всегда был ниже 50 МБ.
Ответ 6
Проверить ~/.m2/settings.xml
<settings>
<servers>
<server>
<id>tomcat-manager</id>
<username>user001</username>
<password>123</password>
</server>
</servers>
</settings>
Ответ 7
У меня была одна и та же проблема, и в моем случае проблема заключалась в том, что путь к cnfigured context не начинался с /.
Фиксирование контекста "myapp" на "/myapp" решило проблему.
Ответ 8
Изредка проблемы
Если иногда повторное развертывание завершается неудачно, а иногда успешно, увеличение количества журналов может показывать защиту DOS.
Отредактируйте /conf/logging.properties
и добавьте строку
org.apache.catalina.level = FINEST
В конце файла. Мог бы показать этот вывод:
FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Security checking request PUT /manager/text/deploy
FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass loadClass(org.apache.catalina.manager.ManagerServlet, false)
FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Delegating to parent classloader1 [email protected]
FINE [http-nio-8080-exec-7] org.apache.catalina.loader.WebappClassLoaderBase.loadClass Loading class from parent
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Status interface]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against PUT /text/deploy --> true
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Status interface]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[Text Manager interface (for scripts)]' against PUT /text/deploy --> true
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[HTML Manager interface (for humans)]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.findSecurityConstraints Checking constraint 'SecurityConstraint[JMX Proxy interface]' against PUT /text/deploy --> false
FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Calling hasUserDataPermission()
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.hasUserDataPermission User data constraint has no restrictions
FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Calling authenticate()
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.CombinedRealm.authenticate Attempting to authenticate user [admin] with realm [org.apache.catalina.realm.UserDatabaseRealm]
FINER [http-nio-8080-exec-7] org.apache.catalina.realm.RealmBase.authenticate Username [admin] NOT successfully authenticated
FINE [http-nio-8080-exec-7] org.apache.catalina.realm.CombinedRealm.authenticate Failed to authenticate user [admin] with realm [org.apache.catalina.realm.UserDatabaseRealm]
WARNING [http-nio-8080-exec-7] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts
An attempt was made to authenticate the locked user [admin]
FINE [http-nio-8080-exec-7] org.apache.catalina.authenticator.AuthenticatorBase.invoke Failed authenticate() test
FINE [http-nio-8080-exec-7] org.apache.catalina.core.StandardHostValve.custom Processing ErrorPage[errorCode=401, location=/WEB-INF/jsp/401.jsp]
FINER [http-nio-8080-exec-7] org.apache.catalina.core.StandardWrapper.allocate Returning non-STM instance
FINE [http-nio-8080-exec-7] org.apache.catalina.core.ApplicationDispatcher.doForward Disabling the response for further output
(в этом журнале пользователь, который сделал попытку загрузки, имеет имя admin
)
Как вы видите в этом выводе, пользователь admin
заблокирован:
WARNING [http-nio-8080-exec-7] org.apache.catalina.realm.LockOutRealm.filterLockedAccounts
An attempt was made to authenticate the locked user [admin]
Посмотрите документацию и внутри server.xml
и вы найдете
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
Используйте незаметное имя пользователя
Удаление строки - плохая идея, измените имя пользователя для deploy355547511
на другое, более непредсказуемое имя, например deploy355547511
чтобы оно не блокировалось.
Ответ 9
Я не знаю, помогает ли это, Но в моем случае.
Плагин tomcat7 собирал данные сервера из maven conf settings.xml вместо комнаты .m2\settings.xml.
Добавление информации о сервере в этот файл. Решена моя проблема.
Ответ 10
В моем случае на моем примере Amazon AWS причина была:
Пространство на диске было FULL отметить 99% на моем экземпляре пятна EC2
Я использую jenkins, используя эту команду обычно
mvn clean tomcat7:redeploy -Ddeploy.password=xxxAG1
-Ddeploy.username=admin -Ddeploy.context=/v1 -Ddeploy.url=http://localhost:8080/manager/text
![введите описание изображения здесь]()
Просто освободи это пространство, и он работал со мной.
Ошибка у меня была
[INFO] I/O exception (java.net.SocketException) caught when processing request: Connection reset
[INFO] Retrying request
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 53.914 s
[INFO] Finished at: 2018-01-10T08:38:28+00:00
[INFO] Final Memory: 47M/371M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.apache.tomcat.maven:tomcat7-maven-plugin:2.2:redeploy (default-cli) on project XXXX-app: Cannot invoke Tomcat manager: Connection reset -> [Help 1]
[ERROR]
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
Совет используйте эту команду
для отслеживания того, что ест ваше пространство из (команды из stackoverflow)
sudo du -x -d1 -h/
Ответ 11
(Re-) развертывание с плагином Maven tomcat также не удалось для меня с сбросом соединения на клиенте и кодом состояния 403 в localhost_access.log
на Tomcat 8.5.30.
В этом приложении управления версиями Tomcat по умолчанию настроен RemoteAddrValve
, ограничивающий доступ к пути /manager/* к localhost. См. $TOMCAT_HOME/webapps/manager/META-INF/context.xml
.
Это помогло включить ведение журнала, чтобы найти решение этой проблемы.