Я пытаюсь развернуть приложение Spring Boot для локальной сборки в службе приложений Azure. Примечание. Я новичок в использовании Azure.
Служба приложений, созданная с помощью портала Azure, имеет следующие характеристики:
Это должно сделать возможным запуск приложения как jar.
Я также добавил следующие настройки приложения (env vars):
JAVA_OPTS
: -Dserver.port=80
SPRING_PROFILES_ACTIVE
: prod
Это должно установить правильный порт сервера, предполагая, что порт 80
является правильным, который я должен использовать. Я читал это другие посты.
Второй параметр приложения обеспечит использование профиля prod
внутри приложения.
Я подключился к службе приложений через FTP, удалил default.jar
, загрузил свой собственный app.jar
, а затем перезапустил службу приложений.
Я получаю уведомление, что приложение было перезапущено, но оно не работает.
Я не могу получить доступ к приложению, но я также не могу найти файлы журналов.
Попытка потока журнала на портале Azure дает только информацию о Starting container for site
и журналах, связанных с докером, но не о журналах моего приложения.
Интересно, куда мне обратиться дальше для устранения неполадок.
Обратите внимание, я использую опцию развертывания FTP, так как мое приложение создается с использованием Gradle, а Azure, похоже, имеет только плагин Maven для развертывания приложений.
UPDATE
Я добавил web.config, используя FTP, содержащий:
<?xml version="1.0" encoding="UTF-8"?>
<configuration>
<system.webServer>
<handlers>
<add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
</handlers>
<httpPlatform processPath="%JAVA_HOME%\bin\java.exe"
arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar "%HOME%\site\wwwroot\app.jar"">
</httpPlatform>
</system.webServer>
</configuration>
Я перезапустил Службу приложений, но все равно.
Я также не получаю ошибок (или, по крайней мере, я не знаю, где искать).
ОБНОВЛЕНИЕ 2
С помощью «Диагностика и решение проблем» в портале de Azure я смог просматривать журналы приложений.
Они показывают, что приложение успешно запущено, но затем выдает:
2019-01-25T12:53:31.730996889Z #
2019-01-25T12:53:31.731125589Z # A fatal error has been detected by the Java Runtime Environment:
2019-01-25T12:53:31.731207089Z #
2019-01-25T12:53:31.737259893Z # SIGSEGV (0xb) at pc=0x000000000000b32e, pid=197, tid=0x00007fab3d393ae8
2019-01-25T12:53:31.740444095Z #
2019-01-25T12:53:31.740455395Z # JRE version: OpenJDK Runtime Environment (8.0_192-b01) (build 1.8.0_192-b01)
2019-01-25T12:53:31.740459895Z # Java VM: OpenJDK 64-Bit Server VM (25.192-b01 mixed mode linux-amd64 compressed oops)
2019-01-25T12:53:31.740463995Z # Problematic frame:
2019-01-25T12:53:31.740467795Z # C 0x000000000000b32e
2019-01-25T12:53:31.740471495Z #
2019-01-25T12:53:31.740475195Z # Core dump written. Default location: //core or core.197
2019-01-25T12:53:31.740479095Z #
2019-01-25T12:53:31.770424313Z # An error report file with more information is saved as:
2019-01-25T12:53:31.778837718Z # //hs_err_pid197.log
2019-01-25T12:53:31.827292848Z #
2019-01-25T12:53:31.827404948Z # If you would like to submit a bug report, please visit:
2019-01-25T12:53:31.827534548Z # http://www.azulsystems.com/support/
2019-01-25T12:53:31.827635448Z #
2019-01-25T12:53:32.357760775Z /bin/init_container.sh: line 123: 197 Segmentation fault (core dumped) java $JAVA_OPTS -jar "$JAR_PATH"
Docker logs from instance: RD0003FF30DE7C
Обратите внимание, что одни и те же приложения успешно работают на Heroku в течение нескольких месяцев.