Hogyan telepítsünk WAR fájlt a Tomcat-ra

1. Áttekintés

Az Apache Tomcat az egyik legnépszerűbb webszerver a Java közösségben. Hajóként szállít servlet konténer képes a Web ARchives kiszolgálására a WAR kiterjesztéssel.

Ez egy kezelési irányítópultot biztosít ahonnan telepíthet egy új webalkalmazást, vagy visszavonhat egy meglévőt anélkül, hogy újra kellene indítania a tárolót. Ez különösen hasznos termelési környezetben.

Ebben a cikkben gyors áttekintést készítünk a Tomcatról, majd a WAR fájlok telepítésének különféle megközelítéseit ismertetjük.

2. A Tomcat felépítése

Mielőtt elkezdenénk, meg kell ismerkednünk néhány terminológiával és környezeti változóval.

2.1. Környezeti változók

Ha korábban dolgozott a Tomcat-tal, ezek nagyon ismerősek lesznek Önnek:

$ CATALINA_HOME

Ez a változó arra a könyvtárra mutat, ahová a szerverünk telepítve van.

$ CATALINA_BASE

Ez a változó a Tomcat egy adott példányának könyvtárára mutat, lehet, hogy több példány van telepítve. Ha ez a változó nincs kifejezetten beállítva, akkor ugyanolyan értéket kap, mint a $ CATALINA_HOME.

A webalkalmazásokat a $ CATALINA_HOME \ webapps Könyvtár.

2.2. Terminológia

Dokumentumgyökér. Egy webalkalmazás legfelső szintű könyvtárára utal, ahol az összes alkalmazás-erőforrás, például JSP-fájlok, HTML-oldalak, Java-osztályok és képek találhatók.

Kontextus elérési útja. A szerver címéhez viszonyított helyre utal, amely a webalkalmazás nevét jelenti.

Például, ha webes alkalmazásunk a $ CATALINA_HOME \ webapps \ myapp könyvtárba, azt az URL segítségével érheti el // localhost / myapp, és összefüggési útvonala az lesz / myapp.

HÁBORÚ. A fájl kiterjesztése, amely egy webalkalmazás-könyvtár hierarchiát ZIP formátumban csomagol, és rövid a Web Archive kifejezéshez. A Java webalkalmazásokat általában WAR fájlokként csomagolják a telepítéshez. Ezek a fájlok létrehozhatók a parancssorban vagy egy IDE-vel, például az Eclipse-vel.

A WAR fájlunk telepítése után a Tomcat kicsomagolja és az összes projektfájlt az webalkalmazások könyvtár egy új, a projekt nevét viselő könyvtárban.

3. Tomcat Setup

A Tomcat Apache webszerver egy ingyenes szoftver, amely letölthető a weboldalukról. Szükséges, hogy a felhasználó gépén elérhető legyen egy JDK, és hogy a JAVA_HOME környezeti változó megfelelően van beállítva.

3.1. Indítsa el a Tomcat alkalmazást

A Tomcat szervert egyszerűen elindíthatjuk a üzembe helyezés szkript található $ CATALINA_HOME \ bin \ indítás. Van egy .denevér és a .SH minden installációban.

Válassza ki a megfelelő opciót attól függően, hogy Windows vagy Unix alapú operációs rendszert használ-e.

3.2. Konfigurálja a szerepeket

A telepítési szakaszban lesz néhány lehetőségünk, amelyek közül az egyik a Tomcat felügyeleti irányítópultjának használata. Az irányítópult eléréséhez rendelkeznie kell egy adminisztrátorral, aki konfigurálva van a megfelelő szerepkörökkel.

Az irányítópult eléréséhez az admin felhasználónak szüksége van a menedzser-gui szerep. Később WAV fájlt kell telepítenünk a Maven segítségével, ehhez szükségünk van a manager-script szerep is.

Végezzük el ezeket a változásokat $ CATALINA_HOME \ conf \ tomcat-users:

A Tomcat különböző szerepeiről további részleteket a hivatalos link követésével talál.

3.3. Állítsa be a címtárengedélyeket

Végül ellenőrizze, hogy van-e olvasási / írási engedély a Tomcat telepítési könyvtárában.

3.4. A telepítés tesztelése

A Tomcat megfelelő beállításának teszteléséhez futtassa az indítási parancsfájlt (startup.bat/startup.sh), ha a konzolon nem jelennek meg hibák, akkor látogatással ellenőrizhetjük // localhost: 8080.

Ha látja a Tomcat céloldalát, akkor helyesen telepítettük a szervert.

3.5. Portkonfliktus megoldása

Alapértelmezés szerint a Tomcat úgy van beállítva, hogy hallgassa a kapcsolatokat a porton 8080. Ha van még egy alkalmazás, amely már ehhez a porthoz van kötve, az indítási konzol erről értesít minket.

A port megváltoztatásához szerkeszthetjük a kiszolgáló konfigurációs fájlját server.xml található $ CATALINA_HOME \ conf \ server.xml. Alapértelmezés szerint a csatlakozó konfigurációja a következő:

Például, ha át akarjuk változtatni a portunkat 8081, akkor a csatlakozó port attribútumát így kell megváltoztatnunk:

Előfordul, hogy az általunk kiválasztott port alapértelmezés szerint nem nyitott, ebben az esetben ezt a portot kell megnyitnunk a Unix kernel megfelelő parancsaival, vagy létre kell hoznunk a megfelelő tűzfalszabályokat a Windows rendszerben. ez a cikk.

4. Telepítés Mavenből

Ha a Mavent akarjuk használni webarchívumunk telepítéséhez, akkor a Maven settings.xml fájl.

Két helyszín van, ahol a settings.xml fájl található:

  • A Maven telepítése: $ {maven.home} /conf/settings.xml
  • A felhasználó telepítése: $ {user.home} /. m2 / settings.xml

Miután megtalálta, adja hozzá a Tomcat-t az alábbiak szerint:

 TomcatServer rendszergazdai jelszó 

A telepítés teszteléséhez most létre kell hoznunk egy alap webalkalmazást a Maven-től. Navigáljunk oda, ahol szeretnénk létrehozni az alkalmazást.

Futtassa ezt a parancsot a konzolon egy új Java webalkalmazás létrehozásához:

mvn archetípus: generál -DgroupId = com.baeldung -DartifactId = tomcat-war-telepítés -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = hamis

Ez egy teljes webes alkalmazást hoz létre a könyvtárban tomcat-háborús bevetés amelyet kinyomtatunk, és ha most hozzáférünk a böngészőn keresztül, kinyomtatjuk Helló Világ!.

De mielőtt ezt megtennénk, meg kell változtatnunk a Maven telepítését. Tehát irány át a pom.xml és adja hozzá ezt a bővítményt:

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

Ne feledje, hogy a Tomcat 7 plugint használjuk, mert a 7-es és a 8-as verziónál is különösebb változtatások nélkül működik.

A konfiguráció url az az URL, amelyre a telepítést küldjük, Tomcat tudni fogja, mit kezdjen vele. A szerver elem az a kiszolgálópéldány neve, amelyet a Maven felismer. Végül a pálya elem határozza meg a kontextus útja bevetésünk.

Ez azt jelenti, hogy ha a telepítésünk sikeres lesz, akkor ütéssel érjük el a webalkalmazást // localhost: 8080 / myapp.

Most a következő parancsokat futtathatjuk Mavenből.

A webalkalmazás telepítése:

mvn tomcat7: bevetni

A visszavonás:

mvn tomcat7: visszavonás

Átcsoportosítás a változtatások elvégzése után:

mvn tomcat7: átcsoportosítás

5. Telepítés rakomány pluginnel

A Cargo egy sokoldalú könyvtár, amely lehetővé teszi számunkra, hogy a különféle típusú alkalmazás-tárolókat szabványos módon kezeljük.

5.1. Rakomány telepítés beállítása

Ebben a szakaszban megvizsgáljuk, hogyan lehet használni a Cargo Maven beépülő modulját egy WAR telepítéséhez a Tomcat-ba, ebben az esetben egy 7-es verziójú példányba telepítjük.

Ahhoz, hogy biztosan megragadhassuk az egész folyamatot, a semmiből indulva új Java webalkalmazást hozunk létre a parancssorból:

mvn archetípus: generál -DgroupId = com.baeldung -DartifactId = cargo-deploy -DarchetypeArtifactId = maven-archetype-webapp -DinteractiveMode = hamis

Ez egy teljes Java webalkalmazást hoz létre a rakomány-bevetés Könyvtár. Ha ezt az alkalmazást olyan állapotban építjük, telepítjük és töltjük be, akkor az kinyomtatja Helló Világ! a böngészőben.

A Tomcat7 Maven pluginnal ellentétben a Cargo Maven plugin megköveteli, hogy ez a fájl jelen legyen.

Mivel webes alkalmazásunk nem tartalmaz szervleteket, a mi web.xml fájl nagyon egyszerű lesz. Tehát navigáljon a WEB-INF mappát, és hozzon létre egy web.xml fájl a következő tartalommal:

  rakomány-bevetési index.jsp 

Ahhoz, hogy a Maven fel tudja ismerni Cargo parancsait anélkül, hogy beírná a teljesen minősített nevet, hozzá kell adnunk a Cargo Maven plugint a Maven plugin csoportjához settings.xml.

A gyökér közvetlen gyermekeként elem, adja hozzá ezt:

 org.codehaus.cargo 

5.2. Helyi telepítés

Ebben az alfejezetben szerkesztjük a mi pom.xml hogy megfeleljen új telepítési követelményeinknek.

Adja hozzá a bővítményt az alábbiak szerint:

   org.codehaus.cargo cargo-maven2-plugin 1.5.0 tomcat7x telepítve Abszolút elérési út beszúrása a tomcat 7 telepítéshez meglévő Beszúrás abszolút útvonal a tomcat 7 telepítéshez 

A legújabb verzió az írás idején az 1.5.0. A legfrissebb verzió azonban mindig itt található.

Vegyük észre, hogy a csomagolást kifejezetten WAR-ként definiáljuk, e nélkül az összeállításunk kudarcot vall. A bővítmények részben hozzáadjuk a cargo maven2 beépülő modult. Ezenkívül hozzáadunk egy konfigurációs részt, ahol elmondjuk Mavennek, hogy Tomcat konténert és egy meglévő telepítést használunk.

A tároló típusának beállításával telepítve, elmondjuk Mavennek, hogy van egy példányunk telepítve a gépre, és megadjuk a telepítés abszolút URL-jét.

A konfigurációs típus beállításával létező, elmondjuk Tomcatnak, hogy van egy meglévő beállításunk, amelyet használunk, és nincs szükség további konfigurálásra.

Az alternatíva az lenne, ha utasítanánk a rakományt egy URL megadásával letölteni és beállítani a megadott verziót. A hangsúly azonban a WAR telepítésén van.

Érdemes megjegyezni, hogy akár a Maven 2.x, akár a Maven 3.x verziót használjuk, a cargo maven2 plugin mindkettőhöz használható.

Mostantól telepíthetjük az alkalmazásunkat az alábbiak végrehajtásával:

mvn install

és azáltal, hogy:

mvn cargo: bevet

Ha minden jól megy, képesnek kell lennünk a webalkalmazás futtatására betöltéssel // localhost: 8080 / cargo-deploy.

5.3. Távoli telepítés

Távoli telepítéshez csak a konfigurációs részt kell megváltoztatnunk pom.xml. A távoli telepítés azt jelenti, hogy nincs telepítve a Tomcat helyi telepítése, de hozzáférünk a távoli szerveren található kezelő irányítópultjához.

Tehát változtassunk a pom.xml hogy a konfigurációs szakasz így nézzen ki:

  tomcat8x távoli futásidejű admin admin // localhost: 8080 / manager / text 

Ezúttal a tárolótípust megváltoztatjuk telepítve nak nek távoli és a konfigurációs típus létező nak nek futási idő. Végül hozzáadunk hitelesítést és távoli URL tulajdonságokat a konfigurációhoz.

Győződjön meg arról, hogy a szerepek és a felhasználók már jelen vannak $ CATALINA_HOME / conf / tomcat-users.xml akárcsak korábban.

Ha ugyanazt a projektet szerkeszti a távoli telepítéskor először távolítsa el a meglévő WAR-t:

mvn cargo: visszavonás

tisztítsa meg a projektet:

mvn tiszta

telepítse:

mvn install

végül telepítse:

mvn cargo: bevet

Ez az.

6. Telepítés az Eclipse-ből

Az Eclipse lehetővé teszi számunkra a szerverek beágyazását a webprojekt-telepítés hozzáadásához a normál munkafolyamatba anélkül, hogy el kellene térnünk az IDE-től.

6.1. Beágyazza Tomcat-t az Eclipse-be

Beágyazhatunk egy installációt a napfogyatkozásba a ablak menüpont a tálcáról, majd preferenciák a legördülő menüből.

A megjelenő ablak bal oldali paneljén találunk egy preferencia elemeket tartalmazó fa rácsot. Ezután navigálhatunk a napfogyatkozás -> szerverek vagy csak gépelni szerverek a keresősávban.

Ezután kiválasztjuk a telepítési könyvtárat, ha még nem nyílt meg számunkra, és kiválasztjuk a letöltött Tomcat verziót.

A panel jobb oldalán megjelenik egy konfigurációs oldal, ahol az Enable opciót választjuk a kiszolgáló verziójának aktiválásához, és keressük meg a telepítési mappát.

Változásokat alkalmazunk, és amikor legközelebb megnyitjuk a kiszolgálók nézetét az Eclipse-ből windows -> nézet megjelenítése almenüben az újonnan konfigurált szerver jelen lesz, és elindíthatjuk, leállíthatjuk és telepíthetjük rá az alkalmazásokat.

6.2. Telepítse a webalkalmazást az Embedded Tomcat alkalmazásban

Egy webalkalmazás Tomcat telepítéséhez a munkaterületünkben léteznie kell.

Nyissa meg a szerverek kilátás ablak -> nézet megjelenítése és keressen szervereket. Ha nyitva van, akkor jobb gombbal kattinthatunk a konfigurált szerverre, és kiválaszthatjuk telepítés hozzáadása a megjelenő helyi menüből.

Tól Új telepítés megjelenő párbeszédpanelen nyissa meg a projekt legördülő menüből válassza ki a webprojektet.

Van egy Telepítés típusa szakasz alatt Projekt combo box, amikor kiválasztjuk Felrobbant archívum (fejlesztési mód), az alkalmazásban végrehajtott változásaink élőben szinkronizálódnak anélkül, hogy újratelepítenünk kellene őket, ez a legjobb megoldás a fejlesztés során, mivel nagyon hatékony.

Kiválasztása Csomagolt archívum (gyártási mód) megköveteli, hogy minden alkalommal átcsoportosítsuk, amikor változtatásokat hajtunk végre, és látjuk őket a böngészőben. Ez a legjobb csak a gyártáshoz, de mégis, az Eclipse ugyanolyan egyszerűvé teszi.

6.3. Telepítse a webalkalmazást külső helyen

A hibakeresés megkönnyítése érdekében általában a WAR telepítését választjuk az Eclipse-n keresztül. Eljöhet az idő, amikor azt szeretnénk, hogy az Eclipse beágyazott szerverein kívül más helyre telepítsük. A leggyakoribb eset, amikor a termelési kiszolgálónk online, és szeretnénk frissíteni a webalkalmazást.

Megkerülhetjük ezt az eljárást úgy, hogy telepítjük gyártási módban, és megjegyezzük a Telepítse a Helyet ban,-ben Új telepítés párbeszédpanelt, és onnan választja a WAR-ot.

A telepítés során a beágyazott kiszolgáló kiválasztása helyett a opció a szerverek nézd meg a beágyazott szerverek listája mellett. Navigálunk a webalkalmazások egy külső Tomcat telepítés könyvtárát.

7. Telepítés az IntelliJ IDEA-ból

Egy webalkalmazás telepítéséhez a Tomcat-ra léteznie kell, és azt már le kell tölteni és telepíteni kell.

7.1. Helyi konfiguráció

Nyissa meg a Fuss menüt, és kattintson a gombra Konfigurációk szerkesztése opciók.

A bal oldali panelen keresse meg a következőt: Tomcat Server, ha nincs ott kattintson a + jelre a menüben, keressen rá Kandúr és válassza ki Helyi. A név mezőbe tegye Tomcat 7/8 (verziójától függően).

Kattints a Beállítás… gombot és be Tomcat otthon mezőben keresse meg a telepítés otthoni helyét, és válassza ki azt.

Opcionálisan állítsa be a üzembe helyezés oldal legyen // localhost: 8080 / és HTTP port: 8080, szükség szerint változtassa meg a portot.

Menj a Telepítés fülre kattintva kattintson a + szimbólumra, válassza ki a szerverhez hozzáadni kívánt tárgyat, majd kattintson az OK gombra

7.2. Távoli konfigurálás

Kövesse ugyanazokat az utasításokat, mint a helyi Tomcat konfigurációk esetén, de a kiszolgáló lapon meg kell adnia a telepítés távoli helyét.

8. Telepítés az Archívum másolásával

Láttuk, hogyan lehet exportálni egy WAR-t az Eclipse-ből. Az egyik dolog, amit tehetünk, az az, hogy egyszerűen telepítjük a $ CATALINA_HOME \ webapps bármely Tomcat-példány könyvtárát. Ha a példány fut, a telepítés azonnal megkezdődik, amikor a Tomcat kicsomagolja az archívumot, és konfigurálja a kontextus elérési útját.

Ha a példány nem fut, akkor a kiszolgáló a következő indításkor telepíti a projektet.

9. Telepítés a Tomcat Managerből

Feltételezve, hogy már rendelkezünk a WAR fájlunkkal, és szeretnénk a felügyeleti irányítópult segítségével telepíteni. A kezelő irányítópultját a következő címen érheti el: // localhost: 8080 / manager.

Az irányítópultnak öt különböző szakasza van: Menedzser, Alkalmazások, Telepítés, Diagnosztika, és Szerver információk. Ha elmész a Telepítés szakaszban két alszakaszt talál.

9.1. Telepítse a kiszolgálón található Directory vagy WAR fájlt

Ha a WAR fájl azon a szerveren található, ahol a Tomcat példány fut, akkor kitölthetjük a szükségeseket Kontextus elérési útja mező előtt előtte perjel „/”.

Tegyük fel, hogy szeretnénk, ha webes alkalmazásunk az URL-címmel a böngészőből érhető el // localhost: 8080 / myapp, akkor a kontextus útvonal mezőnk meglesz / myapp.

Kihagyjuk a XML konfigurációs fájl URL-je mezőt, és irány a WAR vagy Directory URL terület. Itt adjuk meg a Web ARchive fájl abszolút URL-jét, amint az a szerverünkön jelenik meg. Tegyük fel, hogy a fájlunk helye az C: /apps/myapp.war, akkor beírjuk ezt a helyet. Ne felejtsük el a WAR kiterjesztést.

Ezt követően kattinthatunk bevetni gomb. Az oldal újratöltődik, és látnunk kell az üzenetet:

OK - Alkalmazás telepítve a helyi elérési útvonalon / myapp

az oldal tetején.

Ezen felül az alkalmazásunknak meg kell jelennie a Alkalmazások szakaszában.

9.2. Telepítendő WAR fájl

Csak kattintson a gombra Válassz fájlt gombra, keresse meg a WAR fájl helyét, jelölje ki, majd kattintson a bevetni gomb.

Mindkét helyzetben, ha minden jól megy, a Tomcat konzol a következő üzenettel tájékoztatja a telepítés sikeréről:

INFO: A webalkalmazás-archívum \ path \ to \ deployed_war telepítése 4833 ms alatt befejeződött

10. Következtetés

Ebben az írásban arra összpontosítottunk, hogy WAR-t telepítsünk egy Tomcat szerverre.