Tomcat: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 85: Line 85:
====Juurutamine Tomcati vahenditega====
====Juurutamine Tomcati vahenditega====


Veebiaplikatsioonide juurutamine on võimalik ka kaughalduse teel tänu Tomcati veebipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda haldusrakendusega "Tomcat Manager". Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer), mis ei kuulu Tomcati baaskoosseisu kuid pakub lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine.
Veebiaplikatsioonide juurutamine (ja mahajuurutamine) on võimalik ka kaughalduse teel tänu Tomcati veebipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda haldusrakendusega "Tomcat Manager". Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer), mis ei kuulu Tomcati baaskoosseisu kuid pakub lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine.


===Näiteaplikatsiooni mahajuurutamine===
===Näiteaplikatsiooni mahajuurutamine===

Revision as of 20:44, 29 October 2013

Autor: Kristjan Veskimäe D32

Sissejuhatus

Tomcat on vabalt kättesaadav server Java veebirakendustele. Põhimõtteliselt on tegemist Servlet/JSP spetsifikatsiooni toetava konteineriga.

Antud töö kirjeldab Tomcati 8. versiooni. Põhiosa on üldiselt samasugune võrreldes paari eelmise versiooniga. Suuremad erinevused on versioonispetsiifilistes probleemides ja nende lahendamises, mida käesolev töö ei vaatle.

Mõisted

  • Kontekst (context) - Tomcati mõistes üks konkreetne veebiaplikatsioon
  • Konteiner (container) - veebiserver Tomcat ise
  • Kontekstikirjeldus (context descriptor) - Tomcati-spetsiifiline konteksti konfiguratsioonimääratlus, mis pannakse kokku failidest $CATALINA_HOME/conf/[enginename]/[hostname]/context.xml ja $CATALINA_HOME/webapps/[webappname]/META-INF/context.xml; kontekstikirjeldus määrab näiteks nimed ressurssidele, sessioonihalduse parameetrid jmt.; Tomcati varasemates versioonides sisaldusid kontekstikirjeldused põhikonfiguratsioonifailis server.xml
  • Dokumendipõhi (docBase) - veebiaplikatsioooni kontekstile vastav kataloog Tomcati "webapps" kataloogis, mis tekib veebiaplikatsiooni serverisse rakendamisel

Ülesehitus

  • $CATALINA_HOME - baaskataloog, kuhu on Tomcat paigutatud
  • $CATALINA_BASE - parasjagu töösoleva Tomcati eksemplari baaskataloog; ainult ühe masinas kasutusel oleva Tomcati eksemplari puhul on see sama, mis $CATALINA_HOME
  • $CATALINA_BASE/bin - serveri käivitus- ja abiskriptid
  • $CATALINA_BASE/bin/startup.sh - serveri käivitusskript
  • $CATALINA_BASE/bin/shutdown.sh - serveri peatusskript
  • $CATALINA_BASE/conf - konfiguratsioonifailid
  • $CATALINA_BASE/conf/server.xml - konteineri peamine konfiguratsioonifail
  • $CATALINA_BASE/conf/[enginename]/[hostname]/[webappname].xml - kontekstikirjelduse fail serveriadministraatorile ja automatiseeritud tööriistadele
  • $CATALINA_BASE/conf/[enginename]/[hostname]/context.xml - fail, mis aitab administraatoril konteksti kohta käivat infot kirjeldada ja halduseks mõeldud automaat-tööriistadel (näiteks Tomcat Manager ja TCD) oma tööd teha
  • $CATALINA_BASE/logs - logifailid paigutatakse vaikimisi siia
  • $CATALINA_BASE/webapps - kataloog, kuhu paigutatakse serverisse juurutatavad veebiaplikatsioonid; selle rakenduste baaskataloogi asukoha saab muuta failis $CATALINA_BASE/conf/server.xml peremehepõhiselt määratava atribuudiga "appBase", sealjuures Tomcati vaikimisi peremees ehk "Host" on "localhost"
  • $CATALINA_BASE/webapps/[webappname]/META-INF/context.xml - konfiguratsioonifail, mille veebirakenduse programmeerija on pakendanud oma aplikatsiooniga kaasa ning millega ta saab võimaluse kontekstikirjeldust omalt poolt mõjutada; kirjutatakse rakenduse uuestijuurutamisel üle
  • $CATALINA_BASE/webapps/[webappname]/WEB-INF/web.xml - ka üks oluline Java veebiaplikatsiooni konfiguratsioonifail; enamasti muudab seda ainult programeerija; määrab muu hulgas millised aplikatsiooni osad vajavad autentimist või kui kiiresti veebisessioon aegub

Installeerimine

Installeerimine paketihalduriga

apt-cache search tomcat
apt-get install tomcat[version]-webapps
apt-get install tomcat[version]-admin
apt-get install tomcat[version]

Installeerimine käsitsi

Paketihalduriga installeerides ei pruugi viimane Tomcati versioon olla kättesaadav ja see pakub ka vähem võimalusi kataloogide määramiseks jms. Käsitsi installeerimiseks tuleb laadida Tomcat kodulehelt alla. Lahtipakkimisel tekib kataloog, milles sisalduv fail "RUNNING.txt" on kõige kindlam allikas installeerimisel tekkivate probleemide vältimiseks ning lahendamiseks.

Vajaliku versiooni installeerimisfaili asukoha saab vaadata Tomcati kodulehelt sektsioonist "Download". Järgnevalt installerime kõige uuema versiooni, mida näitab nimes sisalduv RC ehk "release candidate". Produktsioonikeskkonda tuleks valida stabiilse versiooni. Käsitsi installeerimine on sarnane järgmisega:

wget http://mirror.nexcess.net/apache/tomcat/tomcat-8/v8.0.0-RC5/bin/apache-tomcat-8.0.0-RC5.tar.gz
tar -zxvf apache-tomcat-8.0.0-RC5.tar.gz
sudo mv /Users/kristjanveskimae/downloads/apache-tomcat-8.0.0-RC5 /usr/local/apache-tomcat-8.0.0-RC5
sudo rm -f /Library/Tomcat 
sudo ln -s /usr/local/apache-tomcat-8.0.0-RC5/ /Library/Tomcat 
sudo chown -R kristjanveskimae /Library/Tomcat
sudo chmod +x /Library/Tomcat/bin/*.sh

Käivitamine ja aplikatsiooni juurutamine

Käivitamine

Peale installeerimist võib kasutada skripte kataloogist $CATALINA_BASE/bin . Järgneb üks võimalik käivitamise ja peatamise näide, mis on kasutatav eelnevalt kirjeldatud käsitsi installeerimise juhul:

/Library/Tomcat/bin/startup.sh 

ja peatamiseks

/Library/Tomcat/bin/shutdown.sh 

Näiteaplikatsiooni juurutamine

Java veebiaplikatsiooni jagatakse hea tava kohaselt üheainsa veebiarhiivi failina, mille laienditüübiks on "war". Tegemist on tegelikult zip-protokolliga kokkupakitud kataloogiga, millel on Java veebirakenduste spetsifikatsioonile vastav ülesehitus. Siiski võib veebiaplikatsioon olla juurutamisel ka lahtipakendatud olekus (inglisekeelne termin on "war is exploded").

Käsitsi juurutamine

Näiteaplikatsiooni juurutamiseks lae alla selle veebiarhiivifail alla ning kopeeri oma konteineri peremehepõhisse (per host) juurutamiskataloogi 'webapps':

wget http://tomcat.apache.org/tomcat-8.0-doc/appdev/sample/sample.war
cp /Users/kristjanveskimae/downloads/sample.war /Library/Tomcat/webapps/sample.war

Konteiner pakib arhiveeritud faili ise lahti kausta $CATALINA_BASE/webapps ning ka rakendab selle. Tekkiv aplikatsioon on lokaalsest masinast seejärel kättesaadav aadressil http://localhost:8080/sample/ .

Kui konfiguratsioonifailis $CATALINA_BASE/conf/server.xml on märgendi "Host" atribuudi "autoDeploy" väärtus "true", installeerib ja uuendab Tomcat aplikatsioone dünaamiliselt töötamise ajal. Kui väärtuseks on "false", käib installeerimine staatiliselt ning serverisse juurutamiseks tuleb teha taaskäivitus.

Juurutamine Tomcati vahenditega

Veebiaplikatsioonide juurutamine (ja mahajuurutamine) on võimalik ka kaughalduse teel tänu Tomcati veebipõhisele haldusrakendusele. Näiteks saab veebibrauserit kasutades teha serveri põhitoiminguid Tomcati enda haldusrakendusega "Tomcat Manager". Veebipõhine haldusrakendus töötab ka käsupõhise veebiteenusena, millele on valmis ehitatud Anti ja Maveni integratsioonid. Samuti eksisteerib käsurea kliendirakendus TCD (Tomcat Client Deployer), mis ei kuulu Tomcati baaskoosseisu kuid pakub lisafunktsionaalsust nagu veebirakenduse kokkukompileerimine ja pakendamine.

Näiteaplikatsiooni mahajuurutamine

Veebirakenduse mahavõtmiseks tuleb kustutada talle vastav dokumendipõhja kataloog "webapps" kataloogist. Samuti tuleks kustutada .war-fail olemaks kindel, et Tomcat ei rakenda uuel käivitamisel veebiaplikatsiooni veebiarhiivifailist.

Konfigureerimine

Konfiguratsioonifailid loetakse sisse käivitamisel. Võimalusel tuleks muutuste rakendamiseks konteiner taaskäivitada.

Protsessid ja logifailid

Kasutatud materjalid