Spring Boot: ошибки Heroku после успешного развертывания - PullRequest
0 голосов
/ 05 августа 2020

Я борюсь с этой проблемой в течение нескольких дней и не могу найти ничего на SO, а описание кодов ошибок на heroku слишком расплывчато, чтобы я мог что-то выяснить. Я создал приложение basi c с нет интеграции с БД, с Spring framework, тимелеаф и весенняя почта.У меня нет безопасности Spring.После успешного развертывания на heroku я пытаюсь запустить сервер приложений, и это то, что я получаю в журналах heroku. Приложение отлично работает на localhost с нет проблем.

2020-08-05T08:03:50.144941+00:00 app[web.1]: 2020-08-05 08:03:50.144  INFO 4 --- [           main] o.s.s.concurrent.ThreadPoolTaskExecutor  : Initializing ExecutorService 'applicationTaskExecutor'
2020-08-05T08:03:50.458342+00:00 app[web.1]: 2020-08-05 08:03:50.458  INFO 4 --- [           main] o.s.b.w.embedded.tomcat.TomcatWebServer  : Tomcat started on port(s): 8080 (http) with context path ''
2020-08-05T08:03:50.471638+00:00 app[web.1]: 2020-08-05 08:03:50.471  INFO 4 --- [           main] c.e.P.MyWebWebsiteApplication        : Started MyWebWebsiteApplication in 2.688 seconds (JVM running for 3.226)
2020-08-05T08:04:53.993643+00:00 heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=myweb01.herokuapp.com request_id=0fb69db1-5c01-412e-b01f-451a8a2b7ad8 fwd="86.124.21.129" dyno= connect= service= status=503 bytes= protocol=https
2020-08-05T08:05:16.255402+00:00 heroku[web.1]: Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 90 seconds of launch
2020-08-05T08:05:16.271979+00:00 heroku[web.1]: Stopping process with SIGKILL
2020-08-05T08:05:16.349020+00:00 heroku[web.1]: Process exited with status 137
2020-08-05T08:05:16.389343+00:00 heroku[web.1]: State changed from starting to crashed
2020-08-05T08:05:16.392175+00:00 heroku[web.1]: State changed from crashed to starting
2020-08-05T08:05:23.662195+00:00 heroku[web.1]: Starting process with command `java $JAVA_OPTS -jar target/MyWebWebsite-0.0.1-SNAPSHOT.jar -Dserver.port=25487 $JAR_OPTS`
2020-08-05T08:05:25.791836+00:00 app[web.1]: Setting JAVA_TOOL_OPTIONS defaults based on dyno size. Custom settings will override them.
2020-08-05T08:05:25.796964+00:00 app[web.1]: Picked up JAVA_TOOL_OPTIONS: -Xmx300m -Xss512k -XX:CICompilerCount=2 -Dfile.encoding=UTF-8 

Это мой файл proc:

web: java $JAVA_OPTS -jar target/MyWebWebsite-0.0.1-SNAPSHOT.jar -Dserver.port=$PORT $JAR_OPTS

чтение журналов и обнаружение здесь Tomcat started on port(s): 8080 Полагаю, это может быть проблемой? Я имею в виду, что tomcat пытается запустить порт localhost вместо порта heroku? Если это так, как я могу это исправить? если это не так, в чем может быть проблема?

Ответы [ 2 ]

0 голосов
/ 05 августа 2020

Попробуйте установить время ожидания загрузки на 120 секунд - некоторым приложениям SpringBoot требуется некоторое время для загрузки. Запрос можно выполнить, как показано здесь: https://devcenter.heroku.com/changelog-items/364

Кроме того, процесс проверки работоспособности основан на HTTP-запросах, поэтому убедитесь, что ваше приложение обслуживается через обычные веб-порты (80 , 8080, 443).

0 голосов
/ 05 августа 2020

Из документации здесь код ошибки H20 означает

Маршрутизатор ставит запросы в очередь в течение 75 секунд, ожидая, пока запускаемые процессы достигнут «работающего» состояния. Если по прошествии 75 секунд ни один веб-сервер не перешел в состояние «включено», маршрутизатор регистрирует H20 ​​и отображает стандартную страницу ошибок

Если вашему приложению требуется больше времени для загрузки, вы можете использовать инструмент времени ожидания загрузки для увеличения лимита. Однако, как правило, медленная загрузка затрудняет развертывание приложения и замедляет восстановление после сбоев в динамическом режиме, поэтому это следует рассматривать как временное решение

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...