Apache Tomcat běžně nazývaný jako Tomcat je open source webový server a kontejner Servlet vyvinutý společností Apache Software Foundation. Je napsán v Javě a uvolněn pod licencí Apache 2.0. Toto je aplikace pro více platforem. Tomcat se ve skutečnosti skládá z řady komponent, včetně enginu Tomcat JSP a řady různých konektorů, ale jeho základní komponenta se nazývá Catalina. Catalina poskytuje Tomcatovi skutečnou implementaci specifikace servletu.
V tomto článku vám poskytnu pokyny k instalaci, konfiguraci a vytváření více instancí Tomcat 8 na Ubuntu 16.04. Pojďme si projít kroky instalace.
Vzhledem k tomu, že Tomcat je napsán v Javě, potřebujeme, aby byla Java nainstalována na našem serveru před instalací.
Nainstalujte Javu
Tomcat 8 vyžaduje, aby byla na serveru nainstalována Java 7 nebo novější verze. Aktualizoval jsem balíčky na svém serveru Ubuntu a nainstaloval jsem balíčky JDK pomocí příkazů níže:
root@ubuntu:~# apt-get update
root@ubuntu:~# apt-get install default-jdk
Setting up default-jdk-headless (2:1.8-56ubuntu2) ...
Setting up openjdk-8-jdk:amd64 (8u91-b14-0ubuntu4~16.04.1) ...
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/appletviewer to provide /usr/bin/appletviewer (appletviewer) in auto mode
update-alternatives: using /usr/lib/jvm/java-8-openjdk-amd64/bin/jconsole to provide /usr/bin/jconsole (jconsole) in auto mode
Setting up default-jdk (2:1.8-56ubuntu2) ...
Setting up gconf-service-backend (3.2.6-3ubuntu6) ...
Setting up gconf2 (3.2.6-3ubuntu6) ...
Setting up libgnomevfs2-common (1:2.24.4-6.1ubuntu1) ...
Setting up libgnomevfs2-0:amd64 (1:2.24.4-6.1ubuntu1) ...
Setting up libgnome2-common (2.32.1-5ubuntu1) ...
Setting up libgnome-2-0:amd64 (2.32.1-5ubuntu1) ...
Processing triggers for libc-bin (2.23-0ubuntu3) ...
Processing triggers for ureadahead (0.100.0-19) ...
Processing triggers for systemd (229-4ubuntu4) ...
Processing triggers for ca-certificates (20160104ubuntu1) ...
Updating certificates in /etc/ssl/certs...
0 added, 0 removed; done.
Running hooks in /etc/ca-certificates/update.d...
done.
done.
Zkontrolujte a potvrďte verzi Java
Po procesu instalace ověřte verzi Java nainstalovanou na vašem serveru.
root@ubuntu:~# java -version
openjdk version "1.8.0_91"
OpenJDK Runtime Environment (build 1.8.0_91-8u91-b14-0ubuntu4~16.04.1-b14)
OpenJDK 64-Bit Server VM (build 25.91-b14, mixed mode)
Stáhnout / nainstalovat Tomcat
Nejnovější verzi Tomcatu si můžeme stáhnout zde. Stáhněte a rozbalte tento soubor ve složce /opt/apache-tomcat8.
root@ubuntu:/opt# wget http://a.mbbsindia.com/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip
--2016-05-23 03:02:48-- http://a.mbbsindia.com/tomcat/tomcat-8/v8.0.35/bin/apache-tomcat-8.0.35.zip
Resolving a.mbbsindia.com (a.mbbsindia.com)... 103.27.233.42
Connecting to a.mbbsindia.com (a.mbbsindia.com)|103.27.233.42|:80... connected.
HTTP request sent, awaiting response... 200 OK
Length: 9842037 (9.4M) [application/zip]
Saving to: ‘apache-tomcat-8.0.35.zip’
apache-tomcat-8.0.35.zip 100%[===================================================================>] 9.39M 4.46MB/s in 2.1s
2016-05-23 03:02:51 (4.46 MB/s) - ‘apache-tomcat-8.0.35.zip’ saved [9842037/9842037]
Vytvoření uživatele/skupiny kocourků
Vždy se doporučuje spouštět aplikaci jako uživatel namísto uživatele root. Proto jsem vytvořil uživatele s názvem tomcat pro spuštění této aplikace.
root@ubuntu:/opt# groupadd tomcat
root@ubuntu:/opt# useradd -g tomcat -s /bin/bash -d /opt/apache-tomcat8 tomcat
Nyní nastavte všechny skripty ve složce Tomcat bin tak, aby byly pro uživatele spustitelné.
root@ubuntu:/opt/apache-tomcat8/bin# chmod 700 *.sh
root@ubuntu:/opt# chown -R tomcat.tomcat apache-tomcat8/
Spusťte aplikaci Tomcat
Nyní se přepněte na uživatele kocourků a spusťte skript startup.sh uvnitř binární složky Tomcat, konkrétně /opt/apache-tomcat8/bin/ ke spuštění této aplikace.
tomcat@ubuntu:~/bin$ sh startup.sh
Using CATALINA_BASE: /opt/apache-tomcat8
Using CATALINA_HOME: /opt/apache-tomcat8
Using CATALINA_TMPDIR: /opt/apache-tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8/bin/bootstrap.jar:/opt/apache-tomcat8/bin/tomcat-juli.jar
Tomcat started.
Nyní máme přístup k této adrese URL http://serverip:8080 v prohlížeči, abyste potvrdili, že Tomcat funguje.
Stav můžeme dokonce potvrdit pomocí tohoto příkazu z CLI, jak je uvedeno níže:
root@ubuntu:/opt# lsof -i :8080
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
java 22722 tomcat 53u IPv6 100669 0t0 TCP *:http-alt (LISTEN)
PS:K vypnutí aplikace můžete použít skript shutdown.sh uvnitř binárních souborů Tomcat.
root@ubuntu:/opt/apache-tomcat8# sh bin/shutdown.sh
Using CATALINA_BASE: /opt/apache-tomcat8
Using CATALINA_HOME: /opt/apache-tomcat8
Using CATALINA_TMPDIR: /opt/apache-tomcat8/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8/bin/bootstrap.jar:/opt/apache-tomcat8/bin/tomcat-juli.jar
May 24, 2016 3:32:35 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Could not contact localhost:8005. Tomcat may not be running.
May 24, 2016 3:32:36 AM org.apache.catalina.startup.Catalina stopServer
SEVERE: Catalina.stop:
Správce webových aplikací Tomcat
V produkčním prostředí je velmi užitečné mít možnost nasadit novou webovou aplikaci nebo zrušit nasazení stávající, aniž by bylo nutné vypínat/restartovat celý server. Kromě toho můžete dokonce znovu načíst samotnou existující aplikaci, a to i bez deklarace, že ji lze znovu načíst v konfiguračním souboru serveru Tomcat.
Tato webová konzola pro správu podporuje následující funkce:
- Nasaďte novou webovou aplikaci z nahraného souboru WAR nebo na zadané kontextové cestě ze serveru f/s.
- Seznam aktuálně nasazených webových aplikací a relací, které jsou aktuálně aktivní
- Znovu načtěte existující webové aplikace, aby se projevily změny v obsahu /WEB-INF/classes nebo /WEB-INF/lib.
- Získejte informace o serveru o OS a JVM
- Spuštění a zastavení existující webové aplikace, --zastavení stávající aplikace a tím její nedostupnost. Ale nezrušujte jej.
- Zrušte nasazení nasazené webové aplikace a odstraňte její základní adresář dokumentů
Můžeme vytvořit uživatele pro správu webové konzoly Tomcat Management. Uživatelský konfigurační soubor Tomcat můžete upravit, jmenovitě conf/tomcat-users.xml vytvořit administrátory pro správu panelu.
Připojil jsem tyto řádky do konfiguračního souboru uživatele Tomcat, abych vytvořil dva uživatele, jmenovitě správce a správce s uvedenými hesly.
<user username="manager" password="tomcat123" roles="manager-gui" />
<user username="admin" password="tomcat123" roles="manager-gui,admin-gui"/>
Ke správci webových aplikací Tomcat můžeme přistupovat pomocí adresy URL>>http://SERVERIP:8080/manager/ s vytvořenými uživateli.
Povolení podpory SSL/TLS na Tomcat
Tomcat používá k uložení transakcí SSL soubor „úložiště klíčů“ chráněný heslem. Potřebujeme vytvořit soubor úložiště klíčů pro uložení soukromého klíče serveru a certifikátu s vlastním podpisem provedením následujícího příkazu:
root@ubuntu:/usr/local# keytool -genkey -alias tomcat -keyalg RSA -keystore /usr/local/keystore
Enter keystore password:
Re-enter new password:
What is your first and last name?
[Unknown]: Saheetha Shameer
What is the name of your organizational unit?
[Unknown]: VIP
What is the name of your organization?
[Unknown]: VIP
What is the name of your City or Locality?
[Unknown]: Kochi
What is the name of your State or Province?
[Unknown]: Kerala
What is the two-letter country code for this unit?
[Unknown]: IN
Is CN=Saheetha Shameer, OU=VIP, O=VIP, L=Kochi, ST=Kerala, C=IN correct?
[no]: yes
Enter key password for <tomcat>
(RETURN if same as keystore password):
Options:
-genkeypair : Generate key pair
-keyalg : Key algorithm
-keystore : Keystore file path
Po zadání podrobností pro generování certifikace můžete upravit konfiguraci serveru Tomcat a povolit podporu SSL/TLS směrování do souboru úložiště klíčů.
Tuto sekci musíme přidat do konfiguračního souboru serveru Tomcat, jmenovitě conf/server.xml
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="150" SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="/usr/local/keystore"
keystorePass="tomcat123"/>
Po potvrzení obsahu úložiště klíčů restartujte aplikaci Tomcat.
tomcat@ubuntu:~$ keytool -list -keystore /usr/local/keystore
Enter keystore password:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
tomcat, May 23, 2016, PrivateKeyEntry,
Certificate fingerprint (SHA1): A3:99:A8:DD:F1:11:4F:69:37:95:11:66:41:59:A5:05:68:23:3E:B2
Nyní můžete přistupovat k aplikaci Tomcat na portu 8443 na adrese URL https://SERVER IP:8443 a potvrdit její fungování.
Vytvoření více instancí Tomcat
Chcete-li vytvořit více instancí Tomcat, můžete si stáhnout a extrahovat aplikaci Tomcat do jiné složky. Extrahoval jsem obsah do jiné složky, konkrétně /opt/apache-tomcat8-2. Po extrahování souborů musíme provést správné změny v konfiguračním souboru serveru Tomcat pro úpravu portů konektoru a dalších důležitých portů pro aplikaci, abychom se vyhnuli konfliktům se stávající aplikací.
Toto jsou následující změny použité v konfiguračním souboru serveru Tomcat, jmenovitě conf/server.xml.
1. Upraven port vypnutí z 8005 na 8006
<Server port="8005" shutdown="SHUTDOWN">
to
<Server port="8006" shutdown="SHUTDOWN">
2. Upraven port konektoru z 8080 na 8081
<Connector port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
to
<Connector port="8081" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />
<!-- A "Connector" using the shared thread pool-->
<!--
3. Upraven port AJP z 8009 na 8010
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
Po použití těchto změn restartujte naši novou aplikaci Tomcat pod /opt/apache-tomcat8-2
root@ubuntu:/opt# chown -R tomcat.tomcat /opt/apache-tomcat8-2
root@ubuntu:/opt#cd apache-tomcat8-2
Vytvoření skriptu spustitelného pro uživatele.
root@ubuntu:/opt/apache-tomcat8-2# chmod 700 bin/*.sh
Přepněte na uživatele Tomcat a spusťte aplikaci.
tomcat@ubuntu:/opt/apache-tomcat8-2/bin$ sh startup.sh
Using CATALINA_BASE: /opt/apache-tomcat8-2
Using CATALINA_HOME: /opt/apache-tomcat8-2
Using CATALINA_TMPDIR: /opt/apache-tomcat8-2/temp
Using JRE_HOME: /usr
Using CLASSPATH: /opt/apache-tomcat8-2/bin/bootstrap.jar:/opt/apache-tomcat8-2/bin/tomcat-juli.jar
Tomcat started.
Ověřte druhou instanci Tomcat na portu 8081 na adrese URL http://SERVERIP:8081
A je to! jste hotovi se základními věcmi na instalacích Tomcat. Doufám, že se vám čtení tohoto článku líbilo. Doporučil bych vaše cenné návrhy a připomínky k tomuto. Děkuji, že jste si to přečetli :)
Přeji hezký den!