Sprievodca aplikáciou Tomcat Manager

1. Úvod

V tomto výučbe sa podrobne pozrieme na aplikáciu Tomcat Manager.

Stručne povedané, aplikácia Tomcat Manager je webová aplikácia, ktorá je zabalená so serverom Tomcat a poskytuje nám základné funkcie, ktoré potrebujeme na správu nasadených webových aplikácií.

Ako uvidíme, aplikácia má veľa funkcií a služieb. Okrem toho, že nám umožňujeme spravovať nasadené aplikácie, vidíme tiež stav a konfiguráciu servera a jeho aplikácií.

2. Inštalácia Tomcat

Predtým, ako sa ponoríme do aplikácie Tomcat Manager, je potrebné najskôr nainštalovať server Tomcat.

Inštalácia Tomcat je našťastie ľahký proces. Pomoc s inštaláciou Tomcat nájdete v našej príručke Úvod do Apache Tomcat. V tomto výučbe budeme používať najnovšiu verziu Tomcat 9.

3. Prístup k aplikácii Tomcat Manager

Poďme sa teraz pozrieť na to, ako používať aplikáciu Tomcat Manager. Máme tu dve možnosti - môžeme si zvoliť použitie webovej aplikácie (HTML) alebo textovej webovej služby.

Textová služba je ideálna na skriptovanie, zatiaľ čo aplikácia HTML je určená pre ľudí.

The webová aplikácia je k dispozícii na adrese:

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

Zatiaľ čo zodpovedajúce textová služba je k dispozícii na adrese:

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

Predtým, ako však budeme mať prístup k týmto službám, musíme nakonfigurovať Tomcat. Predvolene k nemu majú prístup iba používatelia so správnymi povoleniami.

Poďme ďalej a pridajme takýchto používateľov úpravou conf / tomcat-users spis:

Ako vidíme, pridali sme dvoch nových používateľov:

  • tomcatgui - má manažér-gui môže používať webovú aplikáciu
  • tomcattext - má manažér-skript úlohu a môže používať textovú webovú službu

V nasledujúcej časti uvidíme, ako môžeme týchto dvoch používateľov použiť na demonštráciu schopností aplikácie Tomcat Manager.

4. Zoznam aktuálne nasadených aplikácií

V tejto časti sa dozvieme, ako zobraziť zoznam momentálne nasadených aplikácií.

4.1. Používanie webu

Poďme otvoriť // localhost: 8080 / manager / html /, aby sme si pozreli webovú stránku aplikácie Tomcat Manager. Musíme sa autentifikovať ako tomcatgui používateľovi.

Po prihlásení webová stránka zobrazuje všetky nasadené aplikácie v hornej časti stránky. U každej aplikácie vidíme, či je spustená alebo nie, kontextovú cestu a počet aktívnych relácií. Existuje tiež niekoľko tlačidiel, ktoré môžeme použiť na správu aplikácií:

4.2. Používanie textovej služby

Prípadne môžeme všetky nasadené aplikácie uviesť pomocou textovej webovej služby. Tentokrát robíme a zvlnenie žiadosť pomocou tomcattext užívateľ na autentifikáciu:

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

Rovnako ako webová stránka, odpoveď zobrazuje všetky nasadené aplikácie s ich aktuálnym stavom a počtom aktívnych relácií. Napríklad môžeme vidieť manažér aplikácia je spustená a má jednu aktívnu reláciu:

OK - Uvedené aplikácie pre virtuálneho hostiteľa [localhost] /: beh: 0: ROOT / examples: beh: 0: examples / host-manager: running: 0: host-manager / manager: running: 1: manager / docs: running: 0: dokumenty

5. Správa aplikácií

Jednou z kľúčových funkcií, ktoré nám aplikácia Tomcat Manager umožňuje, je zastavenie, spustenie a opätovné načítanie aplikácií.

5.1. Používanie webu

V prípade webovej aplikácie stačí zastaviť a spustiť aplikáciu iba kliknutím na tlačidlá na webovej stránke. Výsledok a akékoľvek problémy sú hlásené v poli správy v hornej časti stránky.

5.2. Používanie textovej služby

Rovnako môžeme zastavovať a spúšťať aplikácie pomocou textovej služby. Zastavme sa a potom začnime príklady aplikácia pomocou a zvlnenie požiadavka:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / stop? path = / examples OK - zastavená aplikácia na kontextovej ceste [/ examples]
curl -u tomcattext: baeldung // localhost: 8080 / manager / text / start? path = / examples OK - spustená aplikácia na kontextovej ceste [/ examples]

The cesta parameter dotazu označuje, ktorú aplikáciu je potrebné spravovať, a musí zodpovedať kontextovej ceste aplikácie.

Môžeme tiež znova načítať aplikácie, aby sme zachytili zmeny v triedach alebo zdrojoch. Toto však funguje iba pre aplikácie, ktoré sú rozbalené do adresára a nie sú nasadené ako súbory WAR.

Tu je príklad toho, ako môžeme znova načítať doc aplikácia pomocou textovej služby:

curl -u tomcattext: baeldung // localhost: 8080 / manager / text / reload? path = / docs OK - znovu načítaná aplikácia na kontextovej ceste [/ docs]

Pamätajte však, že ak chceme dosiahnuť to isté, vo webovej aplikácii stačí kliknúť na tlačidlo opätovného načítania.

6. Končiace relácie

Okrem správy aplikácií môžeme spravovať relácie používateľov. Aplikácia Tomcat Manager zobrazuje podrobnosti o aktuálnych reláciách používateľa a umožňuje nám manuálne ukončiť relácie.

6.1. Prostredníctvom webového rozhrania

Aktuálne relácie používateľov môžeme zobraziť po kliknutí na odkaz v priečinku Relácie stĺpec pre všetky uvedené aplikácie.

V príklade nižšie vidíme, že pre server existujú dve používateľské relácie manažér žiadosť. Zobrazuje trvanie relácie, ako dlho je neaktívna a ako dlho trvá, kým vyprší (predvolene 30 minút).

Relácie môžeme tiež ručne zničiť ich výberom a výberom Invalidácia vybraných relácií:

Na domovskej stránke je tlačidlo k Platnosť relácií vyprší. Toto tiež zničí relácie, ktoré boli nečinné po zadanú dobu minút.

6.2. Prostredníctvom textovej webovej služby

Ekvivalenty textových služieb sú opäť priame.

Ak chcete zobraziť podrobnosti o aktuálnych reláciách používateľa, hovoríme zasadanie koncový bod s kontextovou cestou aplikácie, ktorá nás zaujíma. V tomto príklade vidíme, že pre aplikáciu momentálne existujú dve relácie manažér prihláška:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / sessions? path = / manager" OK - Informácie o relácii pre aplikáciu na kontextovej ceste [/ manager] Predvolený maximálny neaktívny interval relácie je [30] minút Neaktívny pre [ 2 - <3] minúty: [1] relácie Neaktívne počas [13 - <14] minút: [1] relácie

Ak chceme zničiť neaktívne relácie používateľov, použijeme vypršať koncový bod. V tomto príklade vyprší platnosť relácií, ktoré boli pre server neaktívne dlhšie ako 10 minút manažér prihláška:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / expire? path = / manager & idle = 10" OK - Informácie o relácii pre aplikáciu na kontextovej ceste [/ manager] Predvolený maximálny neaktívny interval relácie je [30] minút Neaktívny na [5 - <6] minút: [1] relácie Neaktívne na [15 - 10] minút: [1] reláciám vypršala platnosť

7. Nasadzovanie aplikácií

Teraz, keď sme videli, ako môžeme spravovať naše aplikácie, pozrime sa, ako môžeme nasadiť nové aplikácie.

Na začiatok si stiahnite ukážkovú vojnu Tomcat, aby sme mali novú aplikáciu na nasadenie.

7.1. Používanie webu

Teraz máme niekoľko možností na nasadenie našej novej ukážky WAR pomocou webovej stránky. Najjednoduchšia metóda je nahrať ukážkový súbor WAR a nasadiť ho:

VOJNA je nasadená s kontextová cesta zodpovedajúca názvu VOJNY. Ak je úspešná, vzorová aplikácia sa nasadí, spustí a zobrazí sa v zozname aplikácií. Ak sa budeme riadiť / vzorka odkaz v kontextovej ceste, môžeme si pozrieť našu bežiacu ukážkovú aplikáciu:

Aby sme mohli znova nasadiť tú istú aplikáciu, kliknite na ikonu Zrušiť nasadenie tlačidlo. Ako už názov napovedá, bude zrušiť nasadenie aplikácie. Toto tiež odstráni všetky súbory a adresáre nasadenej aplikácie.

Ďalej môžeme nasadiť vzorový súbor WAR zadaním cesty k súboru. Zadáme URI cesty k súboru k súboru WAR alebo rozbalenému adresáru plus kontextovú cestu. V našom prípade je vzorová vojna v / tmp adresár a nastavujeme kontextovú cestu k / vzorka:

Prípadne môžeme určiť cesta k súboru k deskriptoru nasadenia XML. Tento prístup nám umožňuje určiť ďalšie atribúty ovplyvňujúce spôsob nasadenia a spustenia aplikácie. V príklade nižšie nasadíme ukážkovú aplikáciu WAR a urobíme ju znovu načítateľnou.

Poznač si to akákoľvek cesta zadaná v deskriptore nasadenia je ignorovaná. Cesta kontextu je prevzatá z názvu súboru deskriptora nasadenia. Prezrite si spoločné atribúty, aby ste pochopili prečo, ako aj popis všetkých ďalších možných atribútov:

7.2. Používanie textovej služby

Poďme sa teraz pozrieť na nasadenie aplikácií pomocou textovej služby.

Po prvé, poďme zrušiť nasadenie našej vzorovej aplikácie:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / undeploy? path = / sample" OK - nenasadená aplikácia na kontextovej ceste [/ sample]

To znova ho nasadiť, zadáme kontextovú cestu a URI umiestnenia vzorového súboru WAR:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?path=/sample&war=file:/tmp/sample.war" OK - nasadená aplikácia na kontextovej ceste [/ sample]

Ďalej môžeme aplikáciu nasadiť aj pomocou deskriptora nasadenia XML:

curl -u tomcattext: baeldung "//localhost:8080/manager/text/deploy?config=file:/tmp/sample.xml" OK - nasadená aplikácia na kontextovej ceste [/ sample]

8. Prezeranie konfigurácie SSL

Musíme povoliť SSL v Tomcat skôr ako uvidíme akúkoľvek konfiguráciu SSL. Najprv si vytvoríme nový certifikát Keystore s certifikátom s vlastným podpisom v našom Tomcat konf adresár:

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

Ďalej zmeníme conf / tomcat-server.xml súbor na povolenie konektora SSL v službe Tomcat:

Akonáhle reštartujeme Tomcat, zistíme, že beží bezpečne na porte 8443!

8.1. Používanie webu

Otvoríme // localhost: 8443 / manager / html, aby sme znova videli aplikáciu Tomcat Manager. Malo by to vyzerať úplne rovnako.

Teraz môžeme zobraziť našu konfiguráciu SSL pomocou tlačidiel pod Diagnostika:

  • The Šifry tlačidlo zobrazuje všetky šifry SSL, ktorým Tomcat rozumie
  • Ďalej Osvedčenia tlačidlo zobrazuje podrobnosti o našom certifikáte s vlastným podpisom
  • Nakoniec Dôveryhodné certifikáty tlačidlo zobrazuje podrobnosti dôveryhodného certifikátu CA; v našom príklade nezobrazuje nič zaujímavé, pretože sme nepridali žiadne dôveryhodné certifikáty CA.

Konfiguračné súbory SSL je tiež možné kedykoľvek dynamicky znova načítať. Môžeme znovu načítať na jedného virtuálneho hostiteľa zadaním názvu hostiteľa. V opačnom prípade sa znova načíta celá konfigurácia:

8.2. Používanie textovej služby

Rovnaké informácie môžeme získať aj pomocou textovej služby. Môžeme zobraziť všetky:

  • Šifrovanie SSL pomocou protokolu sslConnectorCiphers zdroj:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCiphers"
  • Certifikáty používajúce sslConnectorCerts zdroj:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorCerts"
  • Dôveryhodné certifikáty pomocou sslConnectorTrustedCerts zdroj:
curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslConnectorTrustedCerts"

SSL konfiguráciu je možné znovu načítať použitím:

curl -ku tomcattext: baeldung "// localhost: 8443 / manager / text / sslReload" OK - znovu načítaná konfigurácia TLS pre všetkých virtuálnych hostiteľov TLS 

Všimnite si -k možnosť v zvlnenie príkaz, pretože používame certifikát s vlastným podpisom.

9. Prezeranie stavu servera

Aplikácia Tomcat Manager nám tiež ukazuje stav servera a nasadených aplikácií. Tieto stránky sú obzvlášť užitočné, keď si chceme pozrieť celkové štatistiky používania.

Ak sa budeme riadiť Stav servera odkaz, zobrazený vpravo hore, vidíme podrobnosti na serveri. The Úplný stav servera odkaz zobrazuje ďalšie podrobnosti o aplikáciách:

Neexistuje žiadna zodpovedajúca textová služba. Môžeme však upraviť Stav servera odkaz na zobrazenie stavu servera v XML. To isté bohužiaľ robíme pre Úplný stav servera odkaz môže alebo nemusí fungovať, v závislosti od verzie Tomcat, ktorú používame.

10. Uloženie konfigurácie

Textová služba nám umožňuje uložiť aktuálnu konfiguráciu do Tomcat conf / server.xml. To je veľmi užitočné, ak sme zmenili konfiguráciu a chceli by sme si ju uložiť pre neskoršie použitie.

Našťastie to podporuje aj to predchádzajúce conf / server.xml, aj keď všetky predchádzajúce komentáre môžu byť z nového odstránené conf / server.xml konfiguračný súbor.

Skôr ako to však dokážeme, je potrebné pridať nového poslucháča. Upravte conf / server.xml a na koniec zoznamu existujúcich poslucháčov pridajte toto:

Po reštartovaní Tomcat môžeme našu konfiguráciu uložiť pomocou:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / save" OK - konfigurácia servera uložená

11. Diagnostika

Na záver sa pozrime na ďalšie diagnostické funkcie poskytované aplikáciou Tomcat Manager.

11.1. Výpis vlákna

Pomocou textovej služby môžeme získať a výpis vlákna spusteného servera Tomcat:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / threaddump" OK - výpis vlákna JVM 2019-10-06 23:19: 10.066 výpis celého vlákna Java HotSpot (TM) 64-bitový server VM (11.0. 3 + 12-LTS zmiešaný režim): ...

To je obzvlášť užitočné, keď potrebujeme analyzovať alebo nájsť vlákna, ktoré spôsobujú problémy s výkonom, napríklad vlákna s dlhou dobou fungovania alebo zablokované.

11.2. Hľadanie úniku pamäte

Tomcat vo všeobecnosti odvádza dobrú prácu pri predchádzaní úniku pamäte. Ale keď máme podozrenie na únik pamäte, aplikácia Tomcat Manager má službu detekcie úniku pamäte, ktorá nám pomôže. Vykonáva úplné zhromažďovanie odpadu a detekuje všetky triedy, ktoré sú stále v pamäti od posledného načítania aplikácie.

Potrebujeme iba spustiť Nájdite úniky na webovej stránke na detekciu únikov.

Podobne môže textová služba spustiť detekciu úniku pamäte:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / findleaks? statusLine = true" OK - nebol nájdený žiadny únik pamäte

11.3. Zobrazenie dostupných zdrojov

Textová služba poskytuje zoznam dostupných zdrojov. V tomto príklade vidíme, že máme k dispozícii jednu databázu v pamäti:

curl -u tomcattext: baeldung "// localhost: 8080 / manager / text / resources" OK - Zoznam globálnych zdrojov všetkých typov UserDatabase: org.apache.catalina.users.MemoryUserDatabase

12. Záver

V tomto článku sme sa podrobne zaoberali aplikáciou Tomcat Manager. Začali sme inštaláciou aplikácie a sledovaním toho, ako poskytnúť prístup konfiguráciou povolení pre dvoch odlišných používateľov.

Potom sme preskúmali niekoľko príkladov pomocou webovej aplikácie a textovej webovej služby. Videli sme, ako môžeme pomocou rôznych metód zobraziť, spravovať a nasadiť aplikácie. Potom sme sa pozreli na to, ako zobraziť konfiguráciu a stav servera.

Ďalšie informácie o aplikácii Tomcat Manager nájdete v dokumentácii online.


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