【问题标题】:Can I deploy a jhipster 5.0.0-beta.0 application in azure?我可以在 azure 中部署 jhipster 5.0.0-beta.0 应用程序吗?
【发布时间】:2019-07-09 08:54:45
【问题描述】:

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

我试图与 FTP 交战。战争被命名为ROOT,azure自动解压但应用程序没有启动。在本地相同的战争中,我使用以下命令启动它: 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"
    ]
  }
}

【问题讨论】:

    标签: java azure jhipster


    【解决方案1】:

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

    这是我按照当前 JHipster 文档制作的 jar 文件的部署步骤。它对我有用。

    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%

    【讨论】:

    • 我不知道你在哪里可以找到这个解决方案,但它确实有效,非常感谢!
    • @GeorgescuVale 由于 JHipster 基于 Spring Boot,所以我认为我对其他 SO 线程 stackoverflow.com/questions/53732486/… 的回答应该适合您。然后我测试后它确实有效。
    猜你喜欢
    • 2021-10-20
    • 2018-06-12
    • 2013-11-03
    • 2017-12-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-21
    相关资源
    最近更新 更多