我有一个使用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"
]
}
}
答案 0 :(得分:1)
如果可以通过root.war
在本地成功运行java -jar root.war --server.port=9402
,则可以按照以下步骤在Azure上部署相同文件root.war
。
这是我部署一个jar文件的步骤,该文件遵循当前的JHipster文档进行制作。它对我有用。
root.war
文件上传到Azure WebApp上的路径wwwroot
。通过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 "%HOME%\site\wwwroot\root.war"" 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%
。