Veiledning til Tomcat Manager-applikasjon

1. Introduksjon

I denne opplæringen skal vi ta en grundig titt på Tomcat Manager-applikasjonen.

I et nøtteskall er Tomcat Manager-appen et webapplikasjon som er pakket med Tomcat-serveren og gir oss den grunnleggende funksjonaliteten vi trenger for å administrere våre distribuerte webapplikasjoner.

Som vi skal se, har applikasjonen mange funksjoner og tjenester. I tillegg til at vi kan administrere distribuerte applikasjoner, kan vi også se statusen og konfigurasjonen til serveren og dens applikasjoner.

2. Installere Tomcat

Før vi går inn i Tomcat Manager-appen, må vi først installere en Tomcat-server.

Heldigvis er installering av Tomcat en enkel prosess. Se introduksjonen til Apache Tomcat-guiden for å få hjelp til å installere Tomcat. I denne opplæringen bruker vi den nyeste Tomcat 9-versjonen.

3. Få tilgang til Tomcat Manager-appen

La oss nå se på hvordan du bruker Tomcat Manager-appen. Vi har to alternativer her - vi kan velge å bruke det nettbaserte (HTML) programmet eller den tekstbaserte nettjenesten.

Den tekstbaserte tjenesten er ideell for skripting, mens HTML-applikasjonen er designet for mennesker.

De nettbasert applikasjon er tilgjengelig på:

  • http [s]: //: / manager / html /

Mens det tilsvarende teksttjeneste er tilgjengelig på:

  • http [s]: //: / manager / text /

Før vi får tilgang til disse tjenestene, må vi imidlertid konfigurere Tomcat. Som standard er det bare tilgang til brukere med riktig tillatelse.

La oss fortsette og legge til slike brukere ved å redigere conf / tomcat-brukere fil:

Som vi ser, la vi til to nye brukere:

  • tomcatgui - har manager-gui rolle og kan bruke det nettbaserte programmet
  • tomcattext - har manager-skript rolle og kan bruke den tekstbaserte nettjenesten

I neste avsnitt vil vi se hvordan vi kan bruke disse to brukerne til å demonstrere funksjonene til Tomcat Manager-appen.

4. Lister opp nåværende applikasjoner

I denne delen lærer vi hvordan du ser en liste over de nåværende distribuerte applikasjonene.

4.1. Bruke Internett

La oss åpne // localhost: 8080 / manager / html / for å se Tomcat Manager App-nettsiden. Vi må godkjenne som tomcatgui brukeren å gjøre det.

Når du er logget inn, viser websiden alle distribuerte applikasjoner øverst på siden. For hver applikasjon kan vi se om den kjører eller ikke, kontekstbanen og antall aktive økter. Det er også flere knapper vi kan bruke til å administrere applikasjonene:

4.2. Bruke teksttjenesten

Alternativt kan vi liste opp alle distribuerte applikasjoner ved hjelp av tekstnettjenesten. Denne gangen lager vi en krølle forespørsel ved hjelp av tomcattext bruker å autentisere:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / list

Akkurat som nettsiden, viser svaret alle de distribuerte applikasjonene med deres nåværende tilstand og antall aktive økter. For eksempel kan vi se sjef applikasjonen kjører og har en aktiv økt:

OK - Oppførte applikasjoner for virtuell vert [localhost] /: kjører: 0: ROOT / eksempler: kjører: 0: eksempler / host-manager: kjører: 0: host-manager / manager: kjører: 1: manager / docs: kjører: 0: dok

5. Administrere applikasjoner

En av de viktigste funksjonene som Tomcat Manager-appen lar oss gjøre er å stoppe, starte og laste inn applikasjoner.

5.1. Bruke Internett

Når det gjelder webapplikasjonen, er det bare å klikke på knappene på websiden når du stopper og starter applikasjonene. Utfallet og eventuelle problemer rapporteres i meldingsfeltet øverst på siden.

5.2. Bruke teksttjenesten

På samme måte kan vi stoppe og starte applikasjoner ved hjelp av teksttjenesten. La oss stoppe og deretter starte eksempler applikasjon ved hjelp av en krølle be om:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / stop? path = / eksempler OK - Stoppet applikasjon i kontekststi [/ eksempler]
curl -u tomcattext: baeldung // localhost: 8080 / manager / text / start? path = / eksempler OK - Startet applikasjon i kontekststi [/ eksempler]

De sti spørringsparameter angir hvilket program som skal administreres og må samsvare med kontekstbanen til applikasjonen.

Vi kan også laste inn applikasjoner for å hente endringer i klasser eller ressurser. Dette fungerer imidlertid bare for applikasjoner som pakkes ut i en katalog og ikke distribueres som WAR-filer.

Her er et eksempel på hvordan vi kan laste inn dokumenter applikasjon ved hjelp av teksttjenesten:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / reload? path = / docs OK - Lastet inn program på kontekstbane [/ docs]

Husk at vi bare trenger å klikke på omlastningsknappen for å oppnå det samme i webapplikasjonen.

6. Utløp av økter

I tillegg til å administrere applikasjoner, kan vi administrere brukersessioner. Tomcat Manager-appen viser detaljer om gjeldende brukersessioner og lar oss utløpe økter manuelt.

6.1. Via nettgrensesnittet

Vi kan se gjeldende brukerøkter ved å følge lenken i Økter kolonne for alle oppførte applikasjoner.

I eksemplet nedenfor kan vi se at det er to brukersessioner for sjef applikasjon. Den viser varigheten av økten, hvor lenge den har vært inaktiv, og hvor lenge til den utløper (30 minutter som standard).

Vi kan også ødelegge økter manuelt ved å velge dem og velge Ugyldig valgte økter:

På hjemmesiden er det en knapp til Utløp økter. Dette ødelegger også økter som har vært inaktive i den angitte perioden.

6.2. Via Tekstnettjenesten

Igjen er teksttjenestekvivalenter greie.

For å se detaljer om gjeldende brukerøkter, kaller vi økt endepunkt med kontekststien til applikasjonen vi er interessert i. I dette eksemplet kan vi se at det for øyeblikket er to økter for sjef applikasjon:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / sessions? path = / manager" OK - Sessionsinformasjon for applikasjon i kontekstbane [/ manager] Standard maksimumsøkt inaktivt intervall er [30] minutter Inaktivt i [ 2 - <3] minutter: [1] økter Inaktive i [13 - <14] minutter: [1] økter

Hvis vi vil ødelegge inaktive brukersessioner, bruker vi utløpe endepunkt. I dette eksemplet utløper vi økter som har vært inaktive i mer enn 10 minutter for sjef applikasjon:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / expire? path = / manager & idle = 10" OK - Sesjonsinformasjon for applikasjon i kontekstbane [/ manager] Standard maksimum økt inaktivt intervall er [30] minutter Inaktivt i [5 - <6] minutter: [1] økter Inaktive i [15 - 10] minutter: [1] økter var utløpt

7. Distribuere applikasjoner

Nå som vi har sett hvordan vi kan administrere applikasjonene våre, la oss se hvordan vi kan distribuere nye applikasjoner.

For å komme i gang, last ned Tomcat-eksemplet WAR slik at vi har et nytt program å distribuere.

7.1. Bruke Internett

Nå har vi noen få alternativer for å distribuere vår nye prøve WAR ved hjelp av websiden. Den enkleste metoden er å last opp WAR-filen og distribuer den:

WAR er utplassert med en kontekststi som samsvarer med navnet på WAR. Hvis vellykket, blir applikasjonen distribuert, startet og vises i listen over applikasjoner. Hvis vi følger /prøve kobling i kontekststien, kan vi se vår kjørende eksempelapplikasjon:

For å kunne distribuere det samme programmet igjen, la oss klikke på Undeploy knapp. Som navnet antyder, vil dette distribuere applikasjonen. Merk at dette også sletter alle filer og kataloger for det distribuerte programmet.

Neste kan vi distribuere eksempel WAR-filen ved å spesifisere filstien. Vi spesifiserer filbanen URI til WAR-filen eller den utpakkede katalogen pluss kontekstbanen. I vårt tilfelle er prøven WAR i / tmp katalog, og vi setter kontekstveien til /prøve:

Alternativt kan vi spesifisere filsti til en XML-distribusjonsbeskrivelse. Denne tilnærmingen lar oss spesifisere flere attributter som påvirker hvordan applikasjonen distribueres og kjøres. I eksemplet nedenfor distribuerer vi eksemplet på WAR-applikasjonen og gjør det på nytt.

Noter det hvilken som helst sti som er spesifisert i distribusjonsbeskrivelsen, blir ignorert. Kontekststien er hentet fra filnavnet til distribusjonsbeskrivelsen. Ta en titt på de vanlige attributtene for å forstå hvorfor, samt en beskrivelse av alle andre mulige attributter:

7.2. Bruke teksttjenesten

La oss nå ta en titt på distribusjon av applikasjoner ved hjelp av teksttjenesten.

For det første, la oss distribuere vår applikasjon:

krøll -u tomcattext: baeldung "// localhost: 8080 / manager / text / undeploy? path = / sample" OK - Undeployed application at context path [/ sample]

Til distribuere den igjen, spesifiserer vi kontekstbanen og plasseringen URI for WAR-filen:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?path=/sample&war=file:/tmp/sample.war" OK - Distribuert applikasjon i kontekststi [/ sample]

Videre kan vi også distribuere et program ved hjelp av XML-distribusjonsbeskrivelsen:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?config=file:/tmp/sample.xml" OK - Distribuert applikasjon på kontekstbane [/ sample]

8. Vise SSL-konfigurasjon

Vi må aktiver SSL i Tomcat før vi kan se noen SSL-konfigurasjon. La oss først opprette et nytt sertifikat Keystore med et selvsignert sertifikat i Tomcat-ene våre konf katalog:

keytool -genkey -alias tomcat -keyalg RSA -keystore conf / localhost-rsa.jks 

Deretter endrer vi conf / tomcat-server.xml fil for å aktivere SSL-kontakten i Tomcat:

Når vi starter Tomcat på nytt, finner vi at den kjører sikkert på port 8443!

8.1. Bruke Internett

La oss åpne // localhost: 8443 / manager / html for å se Tomcat Manager-appen igjen. Det skal se helt likt ut.

Vi kan nå se SSL-konfigurasjonen vår ved hjelp av knappene under Diagnostikk:

  • De Koder -knappen viser alle SSL-kodene som Tomcat forstår
  • Neste, den Sertifikater -knappen viser detaljer om vårt selvsignerte sertifikat
  • Til slutt, Pålitelige sertifikater knappen viser klarerte CA-sertifikatdetaljer; i vårt eksempel viser det ikke noe av interesse da vi ikke har lagt til noen pålitelige CA-sertifikater

SSL-konfigurasjonsfilene kan også lastes inn dynamisk når som helst. Vi kan laste inn på nytt per virtuell vert ved å skrive inn vertsnavnet. Ellers leses all konfigurasjon på nytt:

8.2. Bruke teksttjenesten

På samme måte kan vi få den samme informasjonen ved hjelp av teksttjenesten. Vi kan se alle:

  • SSL-kryptering ved hjelp av sslConnectorCiphers ressurs:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCiphers"
  • Sertifikater som bruker sslConnectorCerts ressurs:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCerts"
  • Pålitelige sertifikater ved hjelp av sslConnectorTrustedCerts ressurs:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorTrustedCerts"

SSL konfigurasjonen kan lastes på nytt ved hjelp av:

curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslReload" OK - Lastet TLS-konfigurasjon på nytt for alle virtuelle TLS-verter 

Legg merke til -k alternativet i krølle kommando når vi bruker et selvsignert sertifikat.

9. Vise serverstatus

Tomcat Manager-appen viser oss også status for serveren og de distribuerte applikasjonene. Disse sidene er spesielt nyttige når vi vil se samlet bruksstatistikk.

Hvis vi følger Serverstatus lenke, vist øverst til høyre, ser vi detaljer på serveren. De Komplett serverstatus lenke viser ytterligere detaljer om applikasjonene:

Det er ingen tilsvarende teksttjeneste. Imidlertid kan vi endre Serverstatus lenke for å se serverstatus i XML. Dessverre gjør det samme for Komplett serverstatus link kan eller ikke fungerer, avhengig av hvilken Tomcat-versjon vi bruker.

10. Lagre konfigurasjon

Teksttjenesten lar oss lagre den gjeldende konfigurasjonen til Tomcat conf / server.xml. Dette er veldig nyttig hvis vi har endret konfigurasjonen og vil lagre den for senere bruk.

Heldigvis sikkerhetskopierer dette også forrige conf / server.xml, selv om eventuelle tidligere kommentarer kan fjernes i den nye conf / server.xml konfigurasjonsfil.

Før vi kan gjøre dette, må vi imidlertid legge til en ny lytter. Rediger conf / server.xml og legg til følgende på slutten av listen over eksisterende lyttere:

Når vi har startet Tomcat på nytt, kan vi lagre konfigurasjonen vår ved å bruke:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / save" OK - Serverkonfigurasjon lagret

11. Diagnostikk

Til slutt, la oss se på flere diagnostiske funksjoner levert av Tomcat Manager-appen.

11.1. Tråddump

Vi kan bruke teksttjenesten for å få en tråddumping av den løpende Tomcat-serveren:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / threaddump" OK - JVM thread dump 2019-10-06 23: 19: 10.066 Full thread dump Java HotSpot (TM) 64-Bit Server VM (11.0. 3 + 12-LTS blandet modus): ...

Dette er spesielt nyttig når vi trenger å analysere eller finne tråder som forårsaker ytelsesproblemer, for eksempel langvarige eller fastlåste tråder.

11.2. Finne minnelekkasjer

Tomcat gjør generelt en god jobb med å forhindre minnelekkasjer. Men når vi mistenker en minnelekkasje, har Tomcat Manager-appen en deteksjonstjeneste for minne som kan hjelpe oss. Den utfører en full søppelsamling og oppdager klasser som fremdeles er i hukommelsen siden forrige gang applikasjonen ble lastet inn på nytt.

Vi trenger bare å kjøre Finn lekkasjer -knappen på websiden for å oppdage lekkasjer.

På samme måte kan teksttjenesten kjøre deteksjon av minnelekkasjer:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / findleaks? statusLine = true" OK - Ingen minnelekkasjer funnet

11.3. Viser tilgjengelige ressurser

Teksttjenesten gir en liste over tilgjengelige ressurser. I dette eksemplet ser vi at vi har en tilgjengelig database i minnet:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / resources" OK - Oppførte globale ressurser av alle typer UserDatabase: org.apache.catalina.users.MemoryUserDatabase

12. Konklusjon

I denne artikkelen har vi tatt en detaljert titt på Tomcat Manager-appen. Vi startet med å installere applikasjonen og se hvordan du gir tilgang ved å konfigurere tillatelser for to forskjellige brukere.

Deretter utforsket vi flere eksempler ved hjelp av det nettbaserte programmet og den tekstbaserte nettjenesten. Vi så hvordan vi kunne se, administrere og distribuere applikasjoner ved hjelp av en rekke metoder. Så tok vi en titt på hvordan vi ser serverens konfigurasjon og status.

For å lære mer om Tomcat Manager-appen, sjekk ut den elektroniske dokumentasjonen.


$config[zx-auto] not found$config[zx-overlay] not found