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

Can I deploy a jhipster 5.0.0-beta.0 application in azure?

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

我试着把 war 和 FTP 放在一起。 war 被命名为 ROOT,azure 自动提取它但应用程序没有启动。在本地相同 war 上,我使用以下命令启动它: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 以外的表格。 在本地相同 war 它启动 (java -jar root.war --server.port=9402) 和 运行 一切正常,在 Azure 服务器上我可以' t 登录请求:/api/authentication 和 /api/logout 请求我收到 404 错误。

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

我也想在 Azure 上正常运行此应用程序 运行。我尝试在此 Web 应用程序上上传的其他应用程序是使用 jhipster 5.8.2 和相同的数据库生成的 运行 ok。 我不想更新这个应用程序上的 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 -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的同一路径wwwrootweb.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%.