我可以在azure中部署jhipster 5.0.0-beta.0应用程序吗?

时间:2019-07-09 08:54:45

标签: java azure jhipster

我有一个使用jhipster版本5.0.0-beta.0制作的应用程序,我尝试将其作为Web应用程序放在Azure中,但没有启动

我试图通过FTP进行战争。战争名为ROOT,天蓝色会自动提取它,但应用程序未启动。在本地相同的战争中,我使用以下命令启动它:java -jar root.war --server.port = 9402,它正常启动。在服务器上,我出现错误404,在Azure应用程序日志中,我出现了HTML错误(HTTP错误404.0)。 我尝试使用相同的Azure版本(5.0.0-beta.0)生成一个新的应用程序,如该应用程序的核心:

我将其放置在具有生成表的同一SQL服务器上的服务器上:jhi_autority,jhy_persistent_autit_event,jhi_persistent_audit_event_data,jhi_redirect_token,jhi_user,jhy_authority,jhy_user_authority。 除jhy_authority,jhi_user和jhy_user_authority外,我已经清空了表。 它在本地开始相同的战争(java -jar root.war --server.port = 9402)并运行,一切正常,在Azure服务器上我无法登录以下请求:/ api / authentication和/ api / logout请求我收到404错误。

在Azure Web应用程序上,我具有以下配置: -堆栈:Java -Java版本:1.8(自动更新) -Java容器:tomcat -Java容器版本:8.5(自动更新) 平台:32位 -托管管道版本:集成 -http版本:1.1。

我也想使此应用程序也能在Azure上正常运行。我尝试在使用jhipster 5.8.2生成且具有相同数据库的Web应用程序上上传的其他应用程序运行正常。 我不想更新此应用程序上的jhipster,因为我尝试过这样做,但是我认为手动操作需要花费数周。

{
  "generator-jhipster": {
    "promptValues": {
      "packageName": "ro.netgas.admodunet",
      "nativeLanguage": "en"
    },
    "jhipsterVersion": "5.0.0-beta.0",
    "baseName": "admodunet",
    "reactive": false,
    "packageName": "ro.netgas.admodunet",
    "packageFolder": "ro/netgas/admodunet",
    "serverPort": "8080",
    "authenticationType": "session",
    "cacheProvider": "ehcache",
    "enableHibernateCache": false,
    "websocket": false,
    "databaseType": "sql",
    "devDatabaseType": "mssql",
    "prodDatabaseType": "mssql",
    "searchEngine": false,
    "messageBroker": false,
    "serviceDiscoveryType": false,
    "buildTool": "maven",
    "enableSwaggerCodegen": false,
    "rememberMeKey": "384b43c544db6d26dae8f8b07d54490cd6eff9aa",
    "clientFramework": "angularX",
    "useSass": true,
    "clientPackageManager": "yarn",
    "applicationType": "monolith",
    "testFrameworks": [],
    "jhiPrefix": "jhi",
    "enableTranslation": true,
    "nativeLanguage": "en",
    "languages": [
      "en",
      "ro"
    ]
  }
}

1 个答案:

答案 0 :(得分:1)

如果可以通过root.war在本地成功运行java -jar root.war --server.port=9402,则可以按照以下步骤在Azure上部署相同文件root.war

这是我部署一个jar文件的步骤,该文件遵循当前的JHipster文档进行制作。它对我有用。

  1. 通过FTP或其他方式将root.war文件上传到Azure WebApp上的路径wwwroot
  2. 通过FTP或其他方式将名为web.config的文件添加到Azure WebApp上相同路径wwwroot上,web.config的内容如下。

    <?xml version="1.0" encoding="UTF-8"?>
    <configuration>
        <system.webServer>
            <handlers>
                <add name="httpPlatformHandler" path="*" verb="*" modules="httpPlatformHandler" resourceType="Unspecified" />
            </handlers>
            <httpPlatform processPath="%ProgramW6432%\Java\jdk1.8.0_60\bin\java.exe" arguments="-Djava.net.preferIPv4Stack=true -Dserver.port=%HTTP_PLATFORM_PORT% -jar &quot;%HOME%\site\wwwroot\root.war&quot;" stdoutLogEnabled="true" startupRetryCount='10'>
            </httpPlatform>
        </system.webServer>
    </configuration>
    

然后,您需要重新启动WebApp并尝试浏览它。并且您将看到一些名为httpplatform-stdout_xxxxx_2019xxxxxxx.log的日志文件,其内容如下所示,即表示正常工作。

----------------------------------------------------------
    Application 'myapplication' is running! Access URLs:
    Local:      http://localhost:28747/
    External:   http://100.75.228.104:28747/
    Profile(s):     [prod]
----------------------------------------------------------

注意:端口28747由Azure WebApp随机分配,该值来自环境%HTTP_PLATFORM_PORT%