Ako nasadiť súbor WAR do služby Tomcat

1. Prehľad

Apache Tomcat je jedným z najpopulárnejších webových serverov v komunite Java. Dodáva sa ako nádoba na servlet schopné zobrazovať webové archívy s príponou WAR.

Poskytuje riadiaci panel správy z ktorej môžete nasadiť novú webovú aplikáciu alebo zrušiť nasadenie existujúcej bez toho, aby ste museli reštartovať kontajner. To je užitočné najmä v produkčných prostrediach.

V tomto článku urobíme rýchly prehľad Tomcat a potom sa budeme venovať rôznym prístupom k nasadeniu súboru WAR.

2. Štruktúra Tomcat

Než začneme, mali by sme sa oboznámiť s terminológiou a premennými prostredia.

2.1. Premenné prostredia

Ak ste s Tomcatom spolupracovali už predtým, bude vám veľmi dobre známe:

$ CATALINA_HOME

Táto premenná ukazuje na adresár, kde je nainštalovaný náš server.

$ CATALINA_BASE

Táto premenná ukazuje na adresár konkrétnej inštancie Tomcat, môžete mať nainštalovaných viac inštancií. Ak táto premenná nie je nastavená explicitne, bude jej pridelená rovnaká hodnota ako $ CATALINA_HOME.

Webové aplikácie sú nasadené v rámci systému Windows $ CATALINA_HOME \ webapps adresár.

2.2. Terminológia

Root dokumentu. Odkazuje na adresár najvyššej úrovne webovej aplikácie, kde sú umiestnené všetky prostriedky aplikácie, ako sú súbory JSP, stránky HTML, triedy Java a obrázky.

Kontextová cesta. Odkazuje na umiestnenie, ktoré je relatívne k adrese servera a predstavuje názov webovej aplikácie.

Napríklad ak je naša webová aplikácia umiestnená pod $ CATALINA_HOME \ webapps \ myapp adresár, bude k nej prístupná prostredníctvom adresy URL // localhost / myappa jeho kontextová cesta bude / myapp.

VOJNA. Je príponou súboru, ktorý balí hierarchiu adresárov webových aplikácií do formátu ZIP a je skratkou pre Web Archive. Webové aplikácie Java sú zvyčajne nasadené ako súbory WAR na nasadenie. Tieto súbory je možné vytvoriť na príkazovom riadku alebo pomocou IDE ako Eclipse.

Po nasadení nášho súboru WAR ho Tomcat rozbalí a uloží všetky súbory projektu do webové aplikácie adresár v novom adresári pomenovanom podľa projektu.

3. Nastavenie Tomcat

Webový server Tomcat Apache je bezplatný softvér, ktorý je možné stiahnuť z ich webových stránok. Je vyžadované, aby na stroji používateľa bol k dispozícii súbor JDK a aby JAVA_HOME premenná prostredia je nastavená správne.

3.1. Spustite Tomcat

Server Tomcat môžeme spustiť jednoduchým spustením začiatok skript umiestnený na $ CATALINA_HOME \ bin \ startup. Existuje .bat a a .sh v každej inštalácii.

Vyberte príslušnú možnosť podľa toho, či používate operačný systém založený na Windows alebo Unix.

3.2. Konfigurácia rolí

Počas fázy nasadenia budeme mať niekoľko možností, jednou z nich je použitie riadiaceho panela správy spoločnosti Tomcat. Na prístup k tomuto informačnému panelu musíme mať nakonfigurovaného správcu s príslušnými rolami.

Pre prístup k informačnému panelu potrebuje administrátor manažér-gui úlohu. Neskôr budeme musieť nasadiť súbor WAR pomocou Mavenu, na čo potrebujeme manažér-skript rola tiež.

Urobme tieto zmeny v $ CATALINA_HOME \ conf \ tomcat-users:

Viac podrobností o rôznych rolách Tomcat nájdete po tomto oficiálnom odkaze.

3.3. Nastavte oprávnenie adresára

Nakoniec skontrolujte, či je v inštalačnom adresári Tomcat povolenie na čítanie a zápis.

3.4. Vyskúšajte inštaláciu

Ak chcete vyskúšať, či je Tomcat správne nastavený, spustite spúšťací skript (startup.bat/startup.sh), ak sa na konzole nezobrazia žiadne chyby, môžeme to skontrolovať pomocou návštevy // localhost: 8080.

Ak vidíte vstupnú stránku Tomcat, potom sme server nainštalovali správne.

3.5. Vyriešte konflikt portov

Tomcat je predvolene nastavený na počúvanie pripojení na porte 8080. Ak existuje iná aplikácia, ktorá je už viazaná na tento port, informuje nás o tom štartovacia konzola.

Aby sme mohli zmeniť port, môžeme upraviť konfiguračný súbor servera server.xml umiestnený na $ CATALINA_HOME \ conf \ server.xml. Štandardne je konfigurácia konektora nasledovná:

Napríklad, ak chceme zmeniť svoj port na 8081, potom budeme musieť zmeniť atribút portu konektora takto:

Port, ktorý sme si vybrali, niekedy nie je štandardne otvorený, v takom prípade ho budeme musieť otvoriť príslušnými príkazmi v jadre Unixu alebo vytvorením príslušných pravidiel brány firewall v systéme Windows. To, ako sa to deje, presahuje rámec tento článok.

4. Nasadenie z Maven

Ak chceme použiť Maven na nasadenie našich webových archívov, musíme nakonfigurovať Tomcat ako server v Mavene nastavenia.xml spis.

Existujú dve lokality, kde nastavenia.xml súbor možno nájsť:

  • Inštalácia Maven: $ {maven.home} /conf/settings.xml
  • Inštalácia používateľa: $ {user.home} / .m2 / settings.xml

Akonáhle ho nájdete, pridajte Tomcat nasledovne:

 Heslo správcu TomcatServer 

Teraz budeme musieť od Mavenu vytvoriť základnú webovú aplikáciu na otestovanie nasadenia. Prejdime na miesto, kde by sme chceli aplikáciu vytvoriť.

Spustením tohto príkazu na konzole vytvorte novú webovú aplikáciu Java:

mvn archetype: generate -DgroupId = com.baeldung -DartifactId = tomcat-war-deployment -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = false

Týmto sa v adresári vytvorí kompletná webová aplikácia tomcat-war-deployment ktoré, ak teraz nasadíme a pristúpime cez prehliadač, vytlačí sa ahoj svet!.

Ale predtým, ako to urobíme, musíme urobiť jednu zmenu, ktorá umožní nasadenie Mavenu. Takže choďte do pom.xml a pridať tento doplnok:

 org.apache.tomcat.maven tomcat7-maven-plugin 2.2 // localhost: 8080 / manager / text TomcatServer / myapp 

Upozorňujeme, že používame doplnok Tomcat 7, pretože pracuje pre obe verzie 7 a 8 bez akýchkoľvek zvláštnych zmien.

Konfigurácia url je adresa URL, na ktorú posielame naše nasadenie, Tomcat bude vedieť, čo s tým robiť. The server element je názov inštancie servera, ktorú Maven rozpozná. Nakoniec cesta prvok definuje kontextová cesta nášho nasadenia.

To znamená, že ak bude naše nasadenie úspešné, dostaneme sa do webovej aplikácie kliknutím // localhost: 8080 / myapp.

Teraz môžeme spustiť nasledujúce príkazy z Mavenu.

Nasadenie webovej aplikácie:

mvn tomcat7: nasadiť

Odpojiť:

mvn tomcat7: undeploy

Opätovné nasadenie po vykonaní zmien:

mvn tomcat7: redeploy

5. Nasadenie pomocou nákladného pluginu

Cargo je univerzálna knižnica, ktorá nám umožňuje štandardným spôsobom manipulovať s rôznymi typmi aplikačných kontajnerov.

5.1. Nastavenie nasadenia nákladu

V tejto časti sa pozrieme na to, ako používať doplnok Maven od spoločnosti Cargo na nasadenie WAR do Tomcat, v tomto prípade ho nasadíme na inštanciu verzie 7.

Aby sme celý proces pevne uchopili, začneme úplne od začiatku vytvorením novej webovej aplikácie Java z príkazového riadku:

mvn archetype: generate -DgroupId = com.baeldung -DartifactId = cargo-deploy -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = false

Týmto sa vytvorí kompletná webová aplikácia Java v náklad-nasadiť adresár. Ak túto aplikáciu zostavíme, nasadíme a načítame tak, ako je, bude sa tlačiť Ahoj Svet! v prehliadači.

Na rozdiel od doplnku Tomcat7 Maven vyžaduje doplnok Cargo Maven prítomnosť tohto súboru.

Pretože naša webová aplikácia neobsahuje žiadne servlety, naša web.xml súbor bude veľmi základný. Prejdite teda na WEB-INF priečinok nášho novovytvoreného projektu a vytvorte a web.xml súbor s nasledujúcim obsahom:

  cargo-deploy index.jsp 

Aby sme umožnili Mavenu rozpoznávať príkazy Carga bez zadania úplného názvu, musíme pridať doplnok Cargo Maven do skupiny doplnkov v Mavene nastavenia.xml.

Ako bezprostredné dieťa koreňa prvok, pridajte toto:

 org.codehaus.cargo 

5.2. Lokálne nasadenie

V tejto podsekcii upravíme svoje pom.xml aby vyhovovali našim novým požiadavkám na nasadenie.

Pridajte doplnok nasledovne:

   org.codehaus.cargo cargo-maven2-plugin 1.5.0 nainštalovaný tomcat7x Vložte absolútnu cestu k inštalácii tomcat 7 už existujúcu Vložte absolútnu cestu k inštalácii tomcat 7 

Posledná verzia, v čase písania tohto článku, je 1.5.0. Najnovšiu verziu však vždy nájdete tu.

Všimnite si, že obal výslovne definujeme ako VOJNU, bez toho však naša zostava zlyhá. V sekcii doplnkov potom pridáme doplnok cargo maven2. Navyše, pridáme konfiguračnú časť, kde povieme Mavenovi, že používame kontajner Tomcat a tiež existujúcu inštaláciu.

Nastavením typu kontajnera na nainštalovaný, povieme Mavenovi, že máme v počítači nainštalovanú inštanciu a tejto inštalácii poskytneme absolútnu adresu URL.

Nastavením typu konfigurácie na existujúce, povieme Tomcat, že máme existujúce nastavenie, ktoré používame, a nie je potrebná žiadna ďalšia konfigurácia.

Alternatívou by bolo povedať nákladu, aby stiahol a nastavil verziu uvedenú pomocou adresy URL. Naše zameranie je však na nasadenie WAR.

Stojí za zmienku, že či už používame Maven 2.x alebo Maven 3.x, plugin maven2 pre náklad funguje pre oba typy.

Teraz môžeme našu aplikáciu nainštalovať vykonaním:

inštalácia mvn

a nasadením vykonáte:

náklad MVV: nasadiť

Ak všetko pôjde dobre, mali by sme byť schopní spustiť našu webovú aplikáciu načítaním // localhost: 8080 / cargo-deploy.

5.3. Vzdialené nasadenie

Ak chcete vykonať vzdialené nasadenie, musíme zmeniť iba konfiguračnú časť nášho servera pom.xml. Vzdialené nasadenie znamená, že nemáme lokálnu inštaláciu produktu Tomcat, ale máme prístup k hlavnému panelu správcu na vzdialenom serveri.

Poďme teda zmeniť pom.xml takže konfiguračná časť vyzerá takto:

  tomcat8x vzdialený runtime admin admin // localhost: 8080 / manager / text 

Tentokrát meníme typ kontajnera z nainštalovaný do diaľkový a typ konfigurácie z existujúce do beh programu. Nakoniec do konfigurácie pridáme vlastnosti autentifikácie a vzdialenej adresy URL.

Zaistite, aby roly a používatelia už boli prítomní v $ CATALINA_HOME / conf / tomcat-users.xml tak ako predtým.

Ak upravujete rovnaký projekt pre doménu diaľkový nasadenie, najskôr odinštalujte existujúcu vojnu:

mvn náklad: uvoľniť

vyčistiť projekt:

mvn čistý

nainštalujte ho:

inštalácia mvn

nakoniec ho nasadte:

náklad MVV: nasadiť

To je všetko.

6. Nasadenie z Eclipse

Eclipse nám umožňuje vložiť servery na pridanie nasadenia webových projektov do bežného pracovného toku bez toho, aby sme museli opustiť IDE.

6.1. Vložte Tomcat do Eclipse

Inštaláciu môžeme vložiť do zatmenia výberom možnosti okno položka ponuky na paneli úloh a potom preferencie z rozbaľovacej ponuky.

Na ľavom paneli zobrazeného okna nájdeme stromovú mriežku preferenčných položiek. Potom môžeme prejsť na zatmenie -> servery alebo len napíš servery vo vyhľadávacom paneli.

Potom vyberieme inštalačný adresár, ak pre nás ešte nie je otvorený, a zvolíme verziu Tomcat, ktorú sme si stiahli.

Na pravej strane panelu sa zobrazí konfiguračná stránka, kde vyberieme možnosť Povoliť, aby sme aktivovali túto verziu servera a vyhľadali inštalačný priečinok.

Aplikujeme zmeny a pri ďalšom otvorení pohľadu na servery zo servera Eclipse okná -> zobraziť pohľad podmenu bude novo nakonfigurovaný server prítomný a môžeme na ňom spúšťať, zastavovať a nasadzovať aplikácie.

6.2. Nasaďte webovú aplikáciu do integrovaného Tomcat

Ak chcete nasadiť webovú aplikáciu do služby Tomcat, musí existovať v našom pracovnom priestore.

Otvor servery pohľad z okno -> zobraziť pohľad a hľadať servery. Po otvorení môžeme kliknúť pravým tlačidlom myši na server, ktorý sme nakonfigurovali a vybrať pridať nasadenie z kontextovej ponuky, ktorá sa zobrazí.

Z Nové nasadenie dialógové okno, ktoré sa zobrazí, otvorte projekt rozbaľte a vyberte webový projekt.

Existuje Nasadiť typ časť pod Projekt rozbaľovacie pole, keď vyberieme Rozložený archív (režim vývoja), naše zmeny v aplikácii budú synchronizované naživo bez nutnosti opätovného nasadenia, toto je najlepšia voľba počas vývoja, pretože je veľmi efektívna.

Vyberám Zbalený archív (produkčný režim) bude od nás vyžadovať opätovné nasadenie vždy, keď urobíme zmeny, a uvidíme ich v prehliadači. To je najlepšie iba na výrobu, ale Eclipse to rovnako uľahčuje.

6.3. Umiestnite webovú aplikáciu na externé miesto

Spravidla sa rozhodneme nasadiť WAR prostredníctvom Eclipse, aby sme ladenie uľahčili. Môže prísť čas, keď ho budeme chcieť nasadiť na iné miesto, ako sú tie, ktoré používajú zabudované servery Eclipse. Najbežnejšie je, keď je náš produkčný server online, a my chceme aktualizovať webovú aplikáciu.

Tento postup môžeme obísť nasadením v produkčnom režime a poznámkou Nasadiť umiestnenie v Nové nasadenie dialógové okno a odtiaľ vyberať VOJNU.

Počas nasadenia môžeme namiesto výberu zabudovaného servera zvoliť možnosť z servery vedľa zoznamu zabudovaných serverov. Navigujeme k webové aplikácie adresár externej inštalácie Tomcat.

7. Nasadenie z IntelliJ IDEA

Ak chcete nasadiť webovú aplikáciu do služby Tomcat, musí existovať a musí byť už stiahnutá a nainštalovaná.

7.1. Lokálna konfigurácia

Otvor Bež ponuku a kliknite na ikonu Upraviť konfigurácie možnosti.

Na paneli vľavo vyhľadajte dopyt Server Tomcat, ak tam nie je, kliknite v ponuke na znamienko +, vyhľadajte Tomcat a vyberte Miestne. Do poľa pre meno vložte Tomcat 7/8 (v závislosti od verzie).

Kliknite na ikonu Konfigurovať ... tlačidlo a dovnútra Tomcat Home pole prejdite na domovské miesto inštalácie a vyberte ho.

Voliteľne môžete nastaviť Začiatok stránku byť // localhost: 8080 / a HTTP port: 8080, podľa potreby zmeňte port.

Choďte do Nasadenie Kliknite na kartu a kliknite na symbol +, vyberte artefakt, ktorý chcete pridať na server, a kliknite na tlačidlo OK

7.2. Vzdialená konfigurácia

Postupujte podľa rovnakých pokynov ako pre miestne konfigurácie Tomcat, ale na karte server musíte zadať vzdialené umiestnenie inštalácie.

8. Nasadenie kopírovaním archívu

Videli sme, ako exportovať VOJNU z Eclipse. Jednou z vecí, ktoré môžeme urobiť, je nasadiť ho jednoduchým umiestnením do priečinka $ CATALINA_HOME \ webapps adresár ľubovoľnej inštancie Tomcat. Ak je inštancia spustená, nasadenie sa spustí okamžite, keď Tomcat rozbalí archív a nakonfiguruje jeho kontextovú cestu.

Ak inštancia nie je spustená, server nasadí projekt pri ďalšom spustení.

9. Nasadenie z Tomcat Manager

Za predpokladu, že náš súbor WAR už máme po ruke a chceli by sme ho nasadiť pomocou ovládacieho panela správy. Prístup k hlavnému panelu správcu nájdete na adrese: // localhost: 8080 / manager.

Palubná doska má päť rôznych častí: Manažér, Aplikácie, Nasadiť, Diagnostikaa Informácie o serveri. Ak pôjdete do Nasadiť sekcie nájdete dve podsekcie.

9.1. Nasaďte adresár alebo súbor WAR umiestnený na serveri

Ak je súbor WAR umiestnený na serveri, na ktorom je spustená inštancia Tomcat, môžeme vyplniť požadované údaje Kontextová cesta poľu, pred ktorým je lomka „/“.

Povedzme, že by sme chceli, aby k našej webovej aplikácii bol prístup z prehliadača pomocou adresy URL // localhost: 8080 / myapp, potom bude mať naše pole kontextovej cesty / myapp.

Vynecháme URL konfiguračného súboru XML poľa a choďte na WAR alebo URL adresára lúka. Tu zadáme absolútnu adresu URL súboru Web ARchive, ktorý sa zobrazuje na našom serveri. Povedzme, že umiestnenie nášho súboru je C: /apps/myapp.war, potom vstúpime do tohto umiestnenia. Nezabudnite na rozšírenie WAR.

Potom môžeme kliknúť nasadiť tlačidlo. Stránka sa znovu načíta a mala by sa zobraziť správa:

Dobre - nasadená aplikácia na kontextovej ceste / myapp

v hornej časti stránky.

Naša aplikácia by sa navyše mala objaviť aj v Aplikácie časti stránky.

9.2. WAR súbor na nasadenie

Stačí kliknúť na ikonu vyberte súbor Kliknite na tlačidlo, prejdite na umiestnenie súboru WAR, vyberte ho a potom kliknite na ikonu nasadiť tlačidlo.

V obidvoch situáciách, ak všetko dobre dopadne, nás konzola Tomcat informuje, že nasadenie bolo úspešné, s nasledujúcou správou:

INFO: Nasadenie archívu webových aplikácií \ path \ to \ deployed_war skončilo za 4 833 ms

10. Záver

V tomto zápise sme sa zamerali na nasadenie WAR do servera Tomcat.


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