UNIVERZITA PARDUBICE
Fakulta elektrotechniky a informatiky
Apache Tomcat
III. ro ník, 7.3.2008
Vlastimil Flegl, IT
Osnova 1. 2. 3. 4. 5. 6.
Popis Apache Tomcat Stru né informace o jednotlivých verzích Instalace Konfigurace Alternativy Tomcatu Záv r
2
Popis Apache Tomcat Co je vlastn Apache Tomcat a kdy se objevil ? V dob , kdy neexistovala Java neexistoval ani Tomcat, z ehož vyplívá, že pomocí n ho lze ur itým zp sobem spoušt t kódy jazyku Java. Jinak e eno, Apache Tomcat je tzv. kontejner servletu, implementující Java Servlet a JavaServer Pages, který se stará o bezproblémový b h Java aplikací na serveru. Apache Tomcat je OpenSource projekt a je zcela zdarma. Nutno zde zmínit také to, pro je Tomcat, ale i další jeho alternativy tak populární. Odpov na tuto myšlenku je pom rn jednoduchá. Souvislost s tím má práv výše zmín ný programovací jazyk Java, jež se od svého uvedení postupem asu stával stále více populárn jší a stále více používan jší. S p ibývajícím po etm Java aplikací (servlet ) a s dalším vývojem bylo pot eba n jakým zp sobem ešit jejich spoušt ní na webových serverech a proto se za al Tomcat a další podobné kontejnery rychle rozši ovat. Pro Apache Tomcat a ne pouze Tomcat? Apache je webový server, který zprost edkovává velké množství požadavk , podporuje r zné druhy zabezpe ení, jednoduše e no, stará se o bezproblémový chod webserveru, který musí elit tíze nyn jších požadavk od uživatel . Proto byl taky tak navržen. Pro ale znova ešit problém, který je již vy ešený. Z toho d vodu není pot eba ešit u Tomcatu to, co již bylo vy ešeno u Apache. Tomcat a Apache jako dv ásti jednoduše pat í k sob a Apache zde slouží jako jakési rozhranní mezi vn jšími požadavky od klient a práv Tomcatem. I když m že Tomcat fungovat samostatn , z výše uvedených d vodu ho zde budu uvažovat jako jakousi nadstavbu Apache a používat dále celý název Apache Tomcat.
Obr.1: Webové stránky Apache Tomcat
Stru né informace o jednotlivých verzích Zde se zmíním stru n o historii Apache Tomcat, o jednotlivých verzích, od první až po nejnov jší a zmíním se o nových podporách u každé z nich:
•
3.X - 3.0 byla první, "inicializa ní" verze
3
•
•
•
- Ve verzi 3.1 byly ešeny hlavn bezpe nostní problémy - Verze 3.2, dále d lena na 3.2.1, 3.2.2... atd. zajiš ovala další bezpe tnostní ešení, byl zde taky kladen d raz nap . na zlepšení stability - Ver. 3.3 obsahuje výkonnostní zlepšení oproti p edchozí verzi, servlet kontejner lze p izp sobit p idáváním a odebíráním modul . Tato verze implementuje specifikace Servlet 2.2 a JavaServer Pages (JSP) 1.1. 4.X - Následující verze, vychází od zá í 2001, ver. 4.0 a 4.1 - Implementuje nový servlet kontejner, nazývaný Catalina, založený na nové architektu e, implementuje Servlet 2.3 a JSP 1.2 - Podpora protokolu HTTP/1.1 pro Apache Tomcat (Coyote - komponenta HTTP konektor) 5.X - Tato verze obsahovala spoustu dalších "podverzí" nejen 5.0 a 5.5, ale i nap . 5.5.0, 5.5.1, 5.5.4 atd., které byly postupn uvol ovány od konce srpna 2004 do konce února 2008, což je do sou asnosti ! - Verze 5.X implementovala specifikaci Servlet 2.4 a JSP 2.0 - Zlepšení výkonu a rozši itelnosti - Rychlejší analýza JSP 6.X - Nejnov jší verze, vycházející ve verzi 6.0.0 od Prosince 2006 až po nejnov jší verzi 6.0.16, která vychází k 7.únoru 2008 - Implementuje Servlet 2.4 a o ekávaný JSP 2.1 - Navržený pro b h na Java SE 5.0 a nov jší - Rozší ené IO schopnosti
Instalace V této ásti se budu snažit stru n popsat instalaci Tomcatu. Jak jsem psal výše, budeme uvažovat provoz spolu s webovým serverem Apache. Instalaci Apache je možno stáhnout na stránkách http://httpd.apache.org/download.cgi . V mém p ípad se jedná o verzi 2.2.8 pro Windows. Po instalaci souboru .msi lze snadno zjistit, jestli vše b ží v po ádku napsáním do adresy prohlíže e "localhost". Pokud se objeví nápis "It works", vše by m lo být v po ádku. V p ípad n jakého problému je na stránkách produktu k dispozici dokumentace. Konfigurace se prování v souboru httpd.conf, uloženém v adresá i conf. První ást pot ebná pro instalaci Tomcatu je tedy nainstalována. Další, co musí být nainstalováno je J2SE Development Kit 5.0, který je ke stažení nap . na stránkách java.sun.com, p esn ji http://java.sun.com/javase/downloads/index_jdk5.jsp. Jsou zde 3 verze, pro Solaris, pro Windows a pro Linux. V mém p ípad stahuji 32-bit verzi pro Windows, jako soubor .exe. Soubor má asi 52MB. Instrukce pro správnou instalaci se nacházejí na stránkách http://java.sun.com/j2se/1.5.0/install-windows.html.
4
Obr.2: Instalace JDK V prost edí Windows je instalace pom rn jednoduchá, sta í spustit .exe soubor a ídit se instrukcemi. V každém p ípad je ale nutné nastavit prom nné, což se provádí v Ovládacích panelech - Systém - záložka Up esnit - tla ítko Prom nné prost edí. Zde je pot eba vložit do pormn nné Path cestu adresá _s_instalací_J2SDK/bin a vytvo it prom nnou JAVA_HOME a vložit do ní adresá _s_instalací_J2SDK . Nyní zbývá to poslední a nejd ležit jší, nainstalovat samotný Tomcat. Nejd íve bude pot eba modul na propojení samotného Apache a Tomcatu. Ten je ke stažení na stránkách tomcat.apache.org/download-connectors.cgi . Zde v odd lení Tomcat Connectors JK 1.2 sta í kliknout na "Binary Releases", p es složku win32 se dostat do složky jk-1.2.26. Tam už sta í stáhnout požadovanou verzi. K tomu jakou je pot eba si p e íst poznámky na konci stránky. Pro Apache 2.2.4 a pozd jší (já jsem instaloval 2.2.8), je nutno stáhnout soubor mod_jk-1.2.26-apache-2.2.4.so. Po jeho stažení je pot eba ho p esunout do slošky modules v adresá i instalace Apache. Pro instalaci samotného Tomcatu je k dispozici na stránkách http://tomcat.apache.org/download-60.cgi soubor .exe. Ten sta í spustit a nainstalovat do adresá e, který se stane domovským adresá em serveru. Tímto je v podstat Nainstalováno vše pot ebné.
Konfigurace Instalace je hotová, zbývá provést správn konfiguraci. Ve složce, kde byl Tomcat nainstalovaný je adresá conf a v n m soubor server.xml.
5
Obr. 3: Soubor pro konfiguraci
•
Po jeho otev ení je pot eba vyhledat ádek <Server port="8005" shutdown="SHUTDOWN"> , ten se nachází p ibližn na 20. ádku. • Pod tento ádek p idáme
• Dále je pot eba vyhledat ádek
• A vložit pod n j • Po uložení provedených zm n v souboru server.xml je v rámci Tohoto souboru vše nastaveno. • Nyní je nutné v adresá i conf\jk vytvo it soubor workers.properties a do n ho vložit následující ádky: worker.list=ajp13 worker.ajp13.port=8009 worker.ajp13.host=localhost worker.ajp13.type=ajp13 A to je v rámci Tomcatu vše. • Jako další krok je zm na v souboru httpd.conf, který se nachází v adresá i conf tentokrát samotného Apache. • Na konec tohoto souboru je nutno vložit ádek Include "adresá _s_instalací_Tomcat/conf/auto/mod_jk.conf" a uložit zm ny. • Veškerá konfigurace by m la být hotova.
6
Obr.4: Tomcat 6.0 Po spušt ní Tomcatu je pot eba chvíli po kat a zkontrolovat jestli se vytvo il v adresá i Tomcatu a podadresá i conf adresá s názvem auto a v n m soubor mod_jk.conf., což je konfigura ní soubor. Nyní už sta í pouze spustit Apache a do prohlíže e vložit adresu http://localhost/jsp-examples . V p ípad zobrazení stránky je vše nainstalováno a propojeno správn . Spušt ní Apache je možno zjistit zadáním localhost do adresy prohlíže e, spušt ní Tomcatu je to potom localhost:8080 .
Alternativy Tomcatu Jako v tšina aplikací, ani Tomcat není jediný tohoto druhu. Jeho alternativ je celá ada, ale já zde zmíním t i konkuren ní javové servery, které jsou mezi uživateli nejznám jší. První z nich je Resin. Veškeré informace o n m lze najít na stránkách http://caucho.com . Je to údajn velmi rychlý server a jeho instalace je jednoduchá. Já sám s jeho instalací nemám žádné zkušenosti. Následující schéma je z knihy "Linux-Administrace serveru Apache" od autor Charles Aulds, Ludvík Roubí ek:
7
Obr.5: Architektura Resin, Zdroj: Linux-
administrace serveru Apache
Druhý je Jetty (http://jetty.mortbay.org/index.html). Tento server, poprvé vytvo ený v roce 1995 je zdarma i pro komer ní využití. Jetty m že být užíván jako samostatn b žící webserver pro statické a dynamické stránky nebo podobn jako Tomcat m že b žet v pozadí HTTP serveru jako užitím mod_proxy nebo jako za len ná komponenta v java aplikaci. Konfiguruje se také pomocí xml souboru nebo API. Jako t etí bych uvedl Servletexec, vše pot ebné o n m se nachází na stránkách http://www.newatlanta.com/products/servletexec/ , kde se dá do íst, že se jedná pouze o komer ní verzi web serveru založeném na Jav . Implementuje Java Servlet API 2.5, JSP 2.1 a JSTL 1.2. Nyní je dostupný ve verzi 6.0.
Záv r Na záv r bych zmínil ješt pár myšlenek, pro zvolit práv ten i onen server. asto se píše o tom, že Tomcat je pomalý a rychlejší a vhodn jší je Resin. Ur it je Tomcat rychlejší, pokud b ží samostatn , ale to v p ípad statických stránek není p íliš vhodné jak už jsem psal výše. Spolu s Apache jeho rychlost podle dostupných informací nemusí být nejlepší a ti co rychlost požadují p edevším, by m li uvažovat o jiné alternativ . Pro komer ním používání serveru Resin, je nutno zaplatit licenci, jinak tento server existuje také ve verzi OpenSource. Pro v tší projekty je proto vhodné zakoupit si licenci na tento údajn rychlý a spolehlivý server nebo zkusit uvažovat o jeho konkurentovi Serverletexec. Jetty a Tomcat je poskytován jako OpenSource. Velkou výhodou Tomcatu m že být nejen to, že je zdarma, ale že je pom rn jednoduchý a je o n m a o jeho instalaci na internetu k dispozici mnoho materiál . Pro za ínající uživatele m že být práce s ním velmi zajímavá.
8
Zdroje: •
AULDS, Charles. Linux-administrace serveru Apache. P eložil Ludvík Roubí ek. [s.l.] : Grada Publishing a.s., 2003. 535 s. Dostupný z WWW: . ISBN 8024706407. • Wikipedia: Apache Tomcat [online]. [2008] [cit. 2008-03-09]. Dostupný z WWW: . • Apache Tomcat 6.0 - Documentation Index [online]. 1999-2006 [cit. 2008-03-09]. Dostupný z WWW: . • Propojení JSP kontejneru Tomcat s Apache HTTP server [online]. [2005] [cit. 200803-09]. Dostupný z WWW: . • Apache Tomcat Server Alternatives - Jetty and Resin [online]. 2006 [cit. 2008-03-09]. Dostupný z WWW: . • M RKA, David. Apache Tomcat - konfigurace, srovnání s jinými servery [online]. [2004] [cit. 2008-03-09]. Dostupný z WWW: . • etty WebServer [online]. 2008 [cit. 2008-03-09]. Dostupný z WWW: . • Caucho Resin [online]. 1998-2008 [cit. 2008-03-09]. Dostupný z WWW: .
9