[Geoserver-users] Running GeoServer as an Azure Web App

Hello list,

I’ve been trying to get GeoServer to run in Azure, by simply downloading the WAR file (https://docs.geoserver.org/stable/en/user/installation/war.html), creating a new Azure Web App instance (Linux / Tomcat 8.5 or 9), uploading the WAR file and accessing /geoserver, but I have not been successful. Both https://geoserver.geo-solutions.it/educational/en/install_run/gs_install.html and https://kvaes.wordpress.com/2017/10/06/azure-app-service-deploying-a-java-webapp-geoserver-to-azure/ seem to indicate the file should be extracted and it “simply works”…

As a beginner in both GeoServer and Azure, I’m stumped, and hope someone can help getting a step further. Log is as follows:

2021-02-15T09:22:19.384336915Z _____

2021-02-15T09:22:19.384386017Z / _ \ __________ _________ ____

2021-02-15T09:22:19.384391917Z / /_\ ___ / | _ __ _/ __ \

2021-02-15T09:22:19.384397317Z / | / /| | /| | /\ ___/

2021-02-15T09:22:19.384400817Z _| /____ _/ || __ >

2021-02-15T09:22:19.384404417Z / / /

2021-02-15T09:22:19.384407918Z A P P S E R V I C E O N L I N U X

2021-02-15T09:22:19.384411118Z

2021-02-15T09:22:19.384414218Z Documentation: http://aka.ms/webapp-linux

2021-02-15T09:22:19.384417418Z

2021-02-15T09:22:19.384420718Z NOTE: No files or system changes outside of /home will persist beyond your application’s current session. /home is your application’s persistent storage and is shared across all the server instances.

2021-02-15T09:22:19.384425618Z

2021-02-15T09:22:19.384428618Z

2021-02-15T09:22:19.401821653Z Setup openrc …

2021-02-15T09:22:20.129881919Z * Caching service dependencies … [ ok ]

2021-02-15T09:22:20.180482365Z Updating /etc/ssh/sshd_config to use PORT 2222

2021-02-15T09:22:20.188248948Z Starting ssh service…

2021-02-15T09:22:22.371577911Z ssh-keygen: generating new host keys: RSA DSA ECDSA ED25519

2021-02-15T09:22:25.494425352Z * Starting sshd … [ ok ]

2021-02-15T09:22:25.514991303Z ## Printing build info…

2021-02-15T09:22:25.528404592Z PACKAGE | VERSION | COMMIT

2021-02-15T09:22:25.528457994Z Microsoft.AppService.EasyAuthExtensionsJava | 1.0.011720002-alpha-793ad718 | 793ad718

2021-02-15T09:22:25.528464294Z Microsoft.AppService.WebsitesExtensionsJava | 1.0.011730003-alpha-53ae38d3 | 53ae38d3

2021-02-15T09:22:25.528468194Z self | 1.0.011730002-alpha-c6f00046 | c6f00046

2021-02-15T09:22:25.530133655Z ## Done printing build info.

2021-02-15T09:22:26.645180139Z Made a local copy of the app and using SITEROOT=/usr/local/tomcat/webapps

2021-02-15T09:22:26.646215277Z Add public certificates to keystore if exists…

2021-02-15T09:22:26.647083709Z Add private certificates to keystore if exists…

2021-02-15T09:22:26.691649735Z STARTUP_FILE=

2021-02-15T09:22:26.696569414Z STARTUP_COMMAND=

2021-02-15T09:22:26.696934228Z No STARTUP_FILE available.

2021-02-15T09:22:26.697273640Z No STARTUP_COMMAND defined.

2021-02-15T09:22:26.697285740Z Starting Tomcat with CATALINA_BASE set to “”

2021-02-15T09:22:26.698024867Z Launched child process with pid: 121

2021-02-15T09:22:26.698863298Z Waiting for main process to exit. global_pid_main=121

2021-02-15T09:22:26.704511204Z Waiting for global_pid_main == 121

2021-02-15T09:22:26.808718606Z Picked up JAVA_TOOL_OPTIONS: -Djava.net.preferIPv4Stack=true

2021-02-15T09:22:27.703747663Z 15-Feb-2021 09:22:27.689 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/home/tomcat/lib], exists: [false], isDirectory: [false], canRead: [false]

2021-02-15T09:22:27.707909114Z 15-Feb-2021 09:22:27.704 WARNING [main] org.apache.catalina.startup.ClassLoaderFactory.validateFile Problem with directory [/home/tomcat/lib], exists: [false], isDirectory: [false], canRead: [false]

2021-02-15T09:22:30.841323838Z 15-Feb-2021 09:22:30.839 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version name: Apache Tomcat/8.5.53

2021-02-15T09:22:30.848082984Z 15-Feb-2021 09:22:30.847 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server built: Mar 11 2020 10:01:39 UTC

2021-02-15T09:22:30.848688206Z 15-Feb-2021 09:22:30.848 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Server version number: 8.5.53.0

2021-02-15T09:22:30.850378468Z 15-Feb-2021 09:22:30.850 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Name: Linux

2021-02-15T09:22:30.850984890Z 15-Feb-2021 09:22:30.850 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log OS Version: 5.4.0-1031-azure

2021-02-15T09:22:30.910040545Z 15-Feb-2021 09:22:30.851 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Architecture: amd64

2021-02-15T09:22:30.910094847Z 15-Feb-2021 09:22:30.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Java Home: /usr/lib/jvm/zulu-8-azure-jre-headless-tools_8.44.0.11-8.0.242-linux_musl_x64

2021-02-15T09:22:30.910112147Z 15-Feb-2021 09:22:30.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Version: 1.8.0_242-b20

2021-02-15T09:22:30.910116148Z 15-Feb-2021 09:22:30.857 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log JVM Vendor: Azul Systems, Inc.

2021-02-15T09:22:30.910119948Z 15-Feb-2021 09:22:30.867 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_BASE: /usr/local/tomcat

2021-02-15T09:22:30.910123848Z 15-Feb-2021 09:22:30.870 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log CATALINA_HOME: /usr/local/tomcat

2021-02-15T09:22:30.910127648Z 15-Feb-2021 09:22:30.870 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.net.preferIPv4Stack=true

2021-02-15T09:22:30.910131448Z 15-Feb-2021 09:22:30.870 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties

2021-02-15T09:22:30.910135148Z 15-Feb-2021 09:22:30.871 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

2021-02-15T09:22:31.028461965Z 15-Feb-2021 09:22:30.871 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Xverify:none

2021-02-15T09:22:31.028476166Z 15-Feb-2021 09:22:30.871 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsite.logdir=/home/LogFiles

2021-02-15T09:22:31.028497567Z 15-Feb-2021 09:22:30.871 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.config.file=/usr/local/tomcat/conf/logging.properties

2021-02-15T09:22:31.028501567Z 15-Feb-2021 09:22:30.888 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048

2021-02-15T09:22:31.028507467Z 15-Feb-2021 09:22:30.888 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources

2021-02-15T09:22:31.028510967Z 15-Feb-2021 09:22:30.889 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager

2021-02-15T09:22:31.028514267Z 15-Feb-2021 09:22:30.889 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsite.azMonlogdir=/var/log/diagnosticLogs

2021-02-15T09:22:31.028517567Z 15-Feb-2021 09:22:30.889 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsite.root=/usr/local/tomcat/webapps

2021-02-15T09:22:31.028520668Z 15-Feb-2021 09:22:30.890 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsite.unpackWARs=false

2021-02-15T09:22:31.028523968Z 15-Feb-2021 09:22:30.890 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dsite.tempdir=/tmp

2021-02-15T09:22:31.028527068Z 15-Feb-2021 09:22:30.955 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dport.http=80

2021-02-15T09:22:31.028530368Z 15-Feb-2021 09:22:31.011 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.instance.name=lw0sdlwk000014

2021-02-15T09:22:31.028533568Z 15-Feb-2021 09:22:31.011 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djdk.tls.ephemeralDHKeySize=2048

2021-02-15T09:22:31.028536868Z 15-Feb-2021 09:22:31.012 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.protocol.handler.pkgs=org.apache.catalina.webresources

2021-02-15T09:22:31.028540168Z 15-Feb-2021 09:22:31.012 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dorg.apache.catalina.security.SecurityListener.UMASK=0022

2021-02-15T09:22:31.028543468Z 15-Feb-2021 09:22:31.012 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dignore.endorsed.dirs=

2021-02-15T09:22:31.028546668Z 15-Feb-2021 09:22:31.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.base=/usr/local/tomcat

2021-02-15T09:22:31.028550369Z 15-Feb-2021 09:22:31.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Dcatalina.home=/usr/local/tomcat

2021-02-15T09:22:31.028554169Z 15-Feb-2021 09:22:31.018 INFO [main] org.apache.catalina.startup.VersionLoggerListener.log Command line argument: -Djava.io.tmpdir=/usr/local/tomcat/temp

2021-02-15T09:22:31.028558269Z 15-Feb-2021 09:22:31.020 INFO [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: [/usr/lib/jvm/zulu-8-azure-jre-headless-tools_8.44.0.11-8.0.242-linux_musl_x64/lib/amd64/server:/usr/lib/jvm/zulu-8-azure-jre-headless-tools_8.44.0.11-8.0.242-linux_musl_x64/lib/amd64:/usr/lib/jvm/zulu-8-azure-jre-headless-tools_8.44.0.11-8.0.242-linux_musl_x64/…/lib/amd64:/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib]

2021-02-15T09:22:31.487912428Z 15-Feb-2021 09:22:31.487 INFO [main] org.apache.coyote.AbstractProtocol.init Initializing ProtocolHandler [“http-nio-80”]

2021-02-15T09:22:31.546035449Z 15-Feb-2021 09:22:31.545 INFO [main] org.apache.tomcat.util.net.NioSelectorPool.getSharedSelector Using a shared selector for servlet write/read

2021-02-15T09:22:31.678773392Z 15-Feb-2021 09:22:31.678 INFO [main] org.apache.catalina.startup.Catalina.load Initialization processed in 3825 ms

2021-02-15T09:22:31.905138951Z 15-Feb-2021 09:22:31.904 INFO [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]

2021-02-15T09:22:31.906207190Z 15-Feb-2021 09:22:31.905 INFO [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet Engine: Apache Tomcat/8.5.53

2021-02-15T09:22:32.003529940Z 15-Feb-2021 09:22:31.996 INFO [localhost-startStop-1] org.apache.catalina.startup.HostConfig.deployWAR Deploying web application archive [/usr/local/tomcat/webapps/geoserver.war]

2021-02-15T09:30:58.236308317Z 15-Feb-2021 09:30:58.235 INFO [localhost-startStop-1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but no TLDs were found in them. Skipping unneeded JARs during scanning can improve startup time and JSP compilation time.

2021-02-15T09:32:06.398834026Z 15-Feb-2021 09:32:06.398 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup ‘XStreamPersisterInitializer’, but ApplicationContext is unset.

2021-02-15T09:32:06.400586482Z 15-Feb-2021 09:32:06.400 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup ‘ExtensionFilter’, but ApplicationContext is unset.

2021-02-15T09:32:06.436977148Z 15-Feb-2021 09:32:06.436 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup ‘ExtensionProvider’, but ApplicationContext is unset.

2021-02-15T09:32:06.439574131Z 15-Feb-2021 09:32:06.439 WARNING [localhost-startStop-1] org.geoserver.platform.GeoServerExtensions.checkContext Extension lookup ‘ExtensionFilter’, but ApplicationContext is unset.

2021-02-15T09:32:07.009092878Z 15 Feb 09:32:06 ERROR [geoserver.logging] - Could not configure log4j overrides

2021-02-15T09:32:07.009129579Z com.thoughtworks.xstream.io.StreamException:

2021-02-15T09:32:07.009135879Z at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:126)

2021-02-15T09:32:07.009140579Z at com.thoughtworks.xstream.io.xml.AbstractPullReader.readRealEvent(AbstractPullReader.java:148)

2021-02-15T09:32:07.009144679Z at com.thoughtworks.xstream.io.xml.AbstractPullReader.readEvent(AbstractPullReader.java:141)

2021-02-15T09:32:07.009157280Z at com.thoughtworks.xstream.io.xml.AbstractPullReader.move(AbstractPullReader.java:118)

2021-02-15T09:32:07.009161980Z at com.thoughtworks.xstream.io.xml.AbstractPullReader.moveDown(AbstractPullReader.java:103)

2021-02-15T09:32:07.009176880Z at com.thoughtworks.xstream.io.xml.XppReader.(XppReader.java:63)

2021-02-15T09:32:07.009180980Z at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:54)

2021-02-15T09:32:07.009184781Z at com.thoughtworks.xstream.io.xml.AbstractXppDriver.createReader(AbstractXppDriver.java:65)

2021-02-15T09:32:07.009188281Z at com.thoughtworks.xstream.XStream.fromXML(XStream.java:1347)

2021-02-15T09:32:07.009191781Z at org.geoserver.config.util.XStreamPersister.load(XStreamPersister.java:665)

2021-02-15T09:32:07.009195181Z at org.geoserver.logging.LoggingStartupContextListener.getLogging(LoggingStartupContextListener.java:118)

2021-02-15T09:32:07.009198781Z at org.geoserver.logging.LoggingStartupContextListener.contextInitialized(LoggingStartupContextListener.java:69)

2021-02-15T09:32:07.009202281Z at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4701)

2021-02-15T09:32:07.009220982Z at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)

2021-02-15T09:32:07.009224582Z at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:183)

2021-02-15T09:32:07.009240882Z at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:743)

2021-02-15T09:32:07.009244282Z at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:719)

2021-02-15T09:32:07.009247683Z at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:705)

2021-02-15T09:32:07.009263183Z at org.apache.catalina.startup.HostConfig.deployWAR(HostConfig.java:970)

2021-02-15T09:32:07.009266483Z at org.apache.catalina.startup.HostConfig$DeployWar.run(HostConfig.java:1841)

2021-02-15T09:32:07.009269783Z at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)

2021-02-15T09:32:07.009273083Z at java.util.concurrent.FutureTask.run(FutureTask.java:266)

2021-02-15T09:32:07.009277183Z at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)

2021-02-15T09:32:07.009280684Z at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)

2021-02-15T09:32:07.009283984Z at java.lang.Thread.run(Thread.java:748)

2021-02-15T09:32:07.009287184Z Caused by: java.io.EOFException: input contained no data

2021-02-15T09:32:07.009290384Z at org.xmlpull.mxp1.MXParser.fillBuf(MXParser.java:2983)

2021-02-15T09:32:07.009293684Z at org.xmlpull.mxp1.MXParser.more(MXParser.java:3026)

2021-02-15T09:32:07.009296884Z at org.xmlpull.mxp1.MXParser.parseProlog(MXParser.java:1410)

2021-02-15T09:32:07.009300084Z at org.xmlpull.mxp1.MXParser.nextImpl(MXParser.java:1395)

2021-02-15T09:32:07.009303384Z at org.xmlpull.mxp1.MXParser.next(MXParser.java:1093)

2021-02-15T09:32:07.009306584Z at com.thoughtworks.xstream.io.xml.XppReader.pullNextEvent(XppReader.java:109)

2021-02-15T09:32:07.009313185Z … 24 more

Can anyone guide me in the right direction?

(P.S.: I’ve sent this question before, but from the wrong, unsubscribed, mail address. Apologies if it appears twice.)

Thanks in advance,

Met vriendelijke groet | Kind regards

Jelmer Baas

Geoserver seems to be starting, unless you've failed to provide all of the log.

Did you manage to get geoserver running locally? that may be a better starting point since you indicate you are a beginner at this.

- M

This was the entire log. There are other log files, mainly from other processes complaining the job didn't start.

Yes, I've had GeoServer running locally. Two instances with jdbcstore and jdbcconfig. I also added them to the WAR file, and initially uploaded that. I later reverted to the WAR file from the download site, and uploading that to an empty Azure Web App.

Regards,
Jelmer

-----Original Message-----
From: Mark Prins <mc.prins@anonymised.com>
Sent: dinsdag 16 februari 2021 11:08
To: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] Running GeoServer as an Azure Web App

Geoserver seems to be starting, unless you've failed to provide all of the log.

Did you manage to get geoserver running locally? that may be a better starting point since you indicate you are a beginner at this.

- M

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On 2/16/21 11:21 AM, Jelmer Baas wrote:

This was the entire log. There are other log files, mainly from other processes complaining the job didn't start.

Yes, I've had GeoServer running locally. Two instances with jdbcstore and jdbcconfig. I also added them to the WAR file, and initially uploaded that. I later reverted to the WAR file from the download site, and uploading that to an empty Azure Web App.

So what exactly was *not* working? Tomcat should indeed 'extract' the war automagically and then make geoserver admin page usable.

Can you connect to (I presume) port 8080 of Tomcat?

Did the geoserver admin interface come up?

Can you connect the first time using admin/geoserver?

Can you make new datasources/layers?

Or else WHAT exactly isn't working...

(ignore warnings in the log file)

Regards,

Richard Duivenvoorde

Richard,

So what exactly was *not* working? Tomcat should indeed 'extract' the war automagically and then make geoserver admin page usable.

In other examples I saw it being extracted to a relative path; not in my case. No extra files appeared. And no, there was no admin page.
/site/wwwrooot/webapps still only contains the geoserver.war file.

My steps:
Create new Azure App Service (Linux, Java 8, Tomcat 8.5) - the rest default. Go to mytest.azurewebsites.net, see welcome page. Go to mytest.azurewebsites.net/geoserver get 404.
Download publish package, start FTP client, create "webapps" folder in /site/wwwroot, upload geoserver.war to /site/wwwroot/webapps. Restart service. Go to mytest.azurewebsites.net/geoserver, see loading indicator. Wait a few minutes, get "Service Unavailable", with App Service plan at 100% CPU.

Can't reach mytest.azurewebsites.net anymore: takes a few minutes and then responds with "Service Unavailable". 15 minutes in, and CPU usage is still at 100% (memory at 65%) according to Azure. Do see a slight dip every now and then.

After ~20 minutes, the /geoserver URL returns
502 - Web server received an invalid response while acting as a gateway or proxy server

Can you connect to (I presume) port 8080 of Tomcat?

No.

Did the geoserver admin interface come up?

No...

[...]

Attached are the only (semi-useful) logs I could find. Pulling out my hairs, afraid I'm doing something very dumb, here...

Regards,
Jelmer

catalina.lw0sdlwk000014.2021-02-16.log (15.7 KB)

2021_02_16_lw0sdlwk000014_default_docker.log (12.8 KB)

2021_02_16_lw0sdlwk000014_docker.log (1.77 KB)

If the war is not deployed automagically ( 'autodeploy' normally is true in normal Tomcat instances [0]),

then this seems to be an azure thing...
IF you cannot connect to 8080 then your tomcat is not running, or you have a reverse proxy in front of it, OR your tomcat is configured to run on another port.

Maybe you can try to deploy other war's to test if Tomcat is running at all?

Else: You can 'unzip' the war.zip and just put the contents of geoserver.war (which is IN the geoserver.version-war.zip, and is also just a zip) in a directory named 'geoserver'.

Regards,

Richard Duivenvoorde

[0] https://tomcat.apache.org/tomcat-8.0-doc/deployer-howto.html

On 2/16/21 12:24 PM, Jelmer Baas wrote:

Richard,

So what exactly was *not* working? Tomcat should indeed 'extract' the war automagically and then make geoserver admin page usable.

In other examples I saw it being extracted to a relative path; not in my case. No extra files appeared. And no, there was no admin page.
/site/wwwrooot/webapps still only contains the geoserver.war file.

My steps:
Create new Azure App Service (Linux, Java 8, Tomcat 8.5) - the rest default. Go to mytest.azurewebsites.net, see welcome page. Go to mytest.azurewebsites.net/geoserver get 404.
Download publish package, start FTP client, create "webapps" folder in /site/wwwroot, upload geoserver.war to /site/wwwroot/webapps. Restart service. Go to mytest.azurewebsites.net/geoserver, see loading indicator. Wait a few minutes, get "Service Unavailable", with App Service plan at 100% CPU.

Can't reach mytest.azurewebsites.net anymore: takes a few minutes and then responds with "Service Unavailable". 15 minutes in, and CPU usage is still at 100% (memory at 65%) according to Azure. Do see a slight dip every now and then.

After ~20 minutes, the /geoserver URL returns
502 - Web server received an invalid response while acting as a gateway or proxy server

Can you connect to (I presume) port 8080 of Tomcat?

No.

Did the geoserver admin interface come up?

No...

[...]

Attached are the only (semi-useful) logs I could find. Pulling out my hairs, afraid I'm doing something very dumb, here...

Regards,
Jelmer

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On 2/16/21 12:24 PM, Jelmer Baas wrote:

Richard,

So what exactly was *not* working? Tomcat should indeed 'extract' the war automagically and then make geoserver admin page usable.

In other examples I saw it being extracted to a relative path; not in my case. No extra files appeared. And no, there was no admin page.
/site/wwwrooot/webapps still only contains the geoserver.war file.

My steps:
Create new Azure App Service (Linux, Java 8, Tomcat 8.5) - the rest default. Go to mytest.azurewebsites.net, see welcome page. Go to mytest.azurewebsites.net/geoserver get 404.
Download publish package, start FTP client, create "webapps" folder in /site/wwwroot, upload geoserver.war to /site/wwwroot/webapps. Restart service. Go to mytest.azurewebsites.net/geoserver, see loading indicator. Wait a few minutes, get "Service Unavailable", with App Service plan at 100% CPU.

Argh, wait: you should not need to create a 'webapps' folder in you WEBSERVER folder...
You need to deploy it in Tomcat's 'webapps' folder...
(though it is funny that you have valid geoserver logs, so geoserver SEEMS to start)

Or is azure doing all kind of magic for you? /me stays away from azure....

Regards,

Richard

There's is definitely some magic going on behind the curtains. I can delete the WAR file without issues, but the Catalina log file remains locked with the instance at max CPU.

Unzipping the files and putting them in either "wwwroot" or "wwwroot/site" doesn't help much. No CPU usage, but those files don't seem to get picked up. There aren't any other folders I have access to.

Azure was the preferred (cloud) host. Which would be better suited? AWS?

Regards,
Jelmer

-----Original Message-----
From: Richard Duivenvoorde <rdmailings@anonymised.com>
Sent: dinsdag 16 februari 2021 13:00
To: geoserver-users@lists.sourceforge.net
Subject: Re: [Geoserver-users] Running GeoServer as an Azure Web App

On 2/16/21 12:24 PM, Jelmer Baas wrote:

Richard,

So what exactly was *not* working? Tomcat should indeed 'extract' the war automagically and then make geoserver admin page usable.

In other examples I saw it being extracted to a relative path; not in my case. No extra files appeared. And no, there was no admin page.
/site/wwwrooot/webapps still only contains the geoserver.war file.

My steps:
Create new Azure App Service (Linux, Java 8, Tomcat 8.5) - the rest default. Go to mytest.azurewebsites.net, see welcome page. Go to mytest.azurewebsites.net/geoserver get 404.
Download publish package, start FTP client, create "webapps" folder in /site/wwwroot, upload geoserver.war to /site/wwwroot/webapps. Restart service. Go to mytest.azurewebsites.net/geoserver, see loading indicator. Wait a few minutes, get "Service Unavailable", with App Service plan at 100% CPU.

Argh, wait: you should not need to create a 'webapps' folder in you WEBSERVER folder...
You need to deploy it in Tomcat's 'webapps' folder...
(though it is funny that you have valid geoserver logs, so geoserver SEEMS to start)

Or is azure doing all kind of magic for you? /me stays away from azure....

Regards,

Richard

_______________________________________________
Geoserver-users mailing list

Please make sure you read the following two resources before posting to this list:
- Earning your support instead of buying it, but Ian Turton: http://www.ianturton.com/talks/foss4g.html#/
- The GeoServer user list posting guidelines: http://geoserver.org/comm/userlist-guidelines.html

If you want to request a feature or an improvement, also see this: https://github.com/geoserver/geoserver/wiki/Successfully-requesting-and-integrating-new-features-and-improvements-in-GeoServer

Geoserver-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/geoserver-users

On 16-02-2021 12:24, Jelmer Baas wrote:

Attached are the only (semi-useful) logs I could find.

logs indicate tomcat finds and "deploys" the geoserver.war file just fine.

I don't konw if azure tomcat unpacks the war file (tomcat will run webapps from war files without unpacking); if it doesn't you need to set up a geoserver datadirectory (eg using the DATA_DIR evnrionment variable) to write to (at least for log files I think)

-M