Apache Tomcat, allgemein Tomcat genannt, ist ein Open-Source-Webserver und Servlet-Container, der von der Apache Software Foundation entwickelt wurde. Es ist in Java geschrieben und unter der Apache 2.0-Lizenz veröffentlicht. Dies ist eine plattformübergreifende Anwendung. Tomcat besteht eigentlich aus einer Reihe von Komponenten, darunter eine Tomcat-JSP-Engine und eine Vielzahl verschiedener Konnektoren, aber seine Kernkomponente heißt Catalina. Catalina stellt Tomcats tatsächliche Implementierung der Servlet-Spezifikation bereit.
In diesem Artikel gebe ich Ihnen Richtlinien zum Installieren, Konfigurieren und Erstellen mehrerer Instanzen von Tomcat 8 auf Ubuntu 16.04. Lassen Sie uns die Installationsschritte durchgehen.
Da Tomcat in Java geschrieben ist, müssen wir vor der Installation Java auf unserem Server installieren.
Installieren Sie Java
Tomcat 8 erfordert, dass Java 7 oder neuere Versionen auf dem Server installiert sind. Ich habe Pakete auf meinem Ubuntu-Server aktualisiert und die JDK-Pakete mit den folgenden Befehlen installiert:
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.
Prüfen und bestätigen Sie die Java-Version
Überprüfen Sie nach dem Installationsvorgang einfach die auf Ihrem Server installierte Java-Version.
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)
Tomcat herunterladen/installieren
Wir können die neueste Version von Tomcat hier herunterladen. Laden Sie diese herunter und extrahieren Sie sie in den Ordner /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]
Tomcat-Benutzer / -Gruppe erstellen
Es wird immer empfohlen, eine Anwendung als Benutzer statt als Root-Benutzer auszuführen. Daher habe ich einen Benutzer namens Tomcat erstellt, um diese Anwendung auszuführen.
root@ubuntu:/opt# groupadd tomcat
root@ubuntu:/opt# useradd -g tomcat -s /bin/bash -d /opt/apache-tomcat8 tomcat
Machen Sie nun alle Skripte im Tomcat-Bin-Ordner für den Benutzer ausführbar.
root@ubuntu:/opt/apache-tomcat8/bin# chmod 700 *.sh
root@ubuntu:/opt# chown -R tomcat.tomcat apache-tomcat8/
Starten Sie die Tomcat-Anwendung
Wechseln Sie nun zum Tomcat-Benutzer und führen Sie das Skript startup.sh aus im Binärordner von Tomcat, nämlich /opt/apache-tomcat8/bin/ um diese Anwendung auszuführen.
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.
Jetzt können wir auf diese URL http://serverip:8080 zugreifen im Browser, um zu bestätigen, dass Tomcat funktioniert.
Wir können den Status sogar mit diesem Befehl von der CLI wie folgt bestätigen:
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:Um die Anwendung herunterzufahren, können Sie das Skript shutdown.sh verwenden in den Tomcat-Binärdateien.
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:
Tomcat-Webanwendungsmanager
In einer Produktionsumgebung ist es sehr nützlich, eine neue Webanwendung bereitzustellen oder die Bereitstellung einer vorhandenen rückgängig zu machen, ohne den gesamten Server herunterfahren/neu starten zu müssen. Darüber hinaus können Sie sogar eine vorhandene Anwendung selbst nachladen, auch ohne sie in der Tomcat-Server-Konfigurationsdatei als nachladbar zu deklarieren.
Diese Management-Webkonsole unterstützt die folgenden Funktionen:
- Stellen Sie eine neue Webanwendung aus der hochgeladenen WAR-Datei oder auf einem angegebenen Kontextpfad vom Server f/s bereit.
- Listen Sie die derzeit bereitgestellten Webanwendungen und die derzeit aktiven Sitzungen auf
- Neuladen einer bestehenden Webanwendung, um Änderungen im Inhalt von /WEB-INF/classes oder /WEB-INF/lib widerzuspiegeln.
- Serverinformationen über das Betriebssystem und die JVM abrufen
- Bestehende Webanwendungen starten und stoppen, --Beenden der bestehenden Anwendung, wodurch sie nicht mehr verfügbar ist. Aber heben Sie die Bereitstellung nicht auf.
- Bereitstellung einer bereitgestellten Webanwendung rückgängig machen und ihr Dokumentbasisverzeichnis löschen
Wir können die Benutzer erstellen, um die Tomcat Management-Webkonsole zu verwalten. Sie können die Tomcat-Benutzerkonfigurationsdatei namens conf/tomcat-users.xml bearbeiten um die Admin-Benutzer zur Verwaltung des Panels zu erstellen.
Ich habe diese Zeilen an die Tomcat-Benutzerkonfigurationsdatei angehängt, um zwei Benutzer zu erstellen, nämlich manager und admin mit den aufgelisteten Passwörtern.
<user username="manager" password="tomcat123" roles="manager-gui" />
<user username="admin" password="tomcat123" roles="manager-gui,admin-gui"/>
Auf den Tomcat Web Application Manager können wir über die URL>>http://SERVERIP:8080/manager/ zugreifen mit den erstellten Benutzern.
SSL/TLS-Unterstützung auf Tomcat aktivieren
Tomcat verwendet eine passwortgeschützte Datei „Keystore“, um die SSL-Transaktionen zu speichern. Wir müssen eine Keystore-Datei erstellen, um den privaten Schlüssel und das selbstsignierte Zertifikat des Servers zu speichern, indem wir den folgenden Befehl ausführen:
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
Nachdem Sie die Details zum Generieren der Zertifizierung eingegeben haben, können Sie die Tomcat-Serverkonfiguration bearbeiten, um die SSL/TLS-Unterstützung für die Weiterleitung an die Schlüsselspeicherdatei zu aktivieren.
Wir müssen diesen Abschnitt zur Tomcat-Serverkonfigurationsdatei hinzufügen, nämlich 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"/>
Starten Sie die Tomcat-Anwendung neu, nachdem Sie den Schlüsselspeicherinhalt bestätigt haben.
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
Jetzt können Sie auf die Tomcat-Anwendung auf dem Port 8443 unter der URL https://SERVER IP:8443 zugreifen, um zu bestätigen, dass sie funktioniert.
Erstellen mehrerer Tomcat-Instanzen
Um mehrere Tomcat-Instanzen zu erstellen, können Sie die Tomcat-Anwendung herunterladen und in einen anderen Ordner extrahieren. Ich habe den Inhalt in einen anderen Ordner entpackt, nämlich /opt/apache-tomcat8-2. Nach dem Extrahieren der Dateien müssen wir die richtigen Änderungen an der Tomcat Server-Konfigurationsdatei vornehmen, um die Connector-Ports und andere wichtige Ports für die Anwendung zu ändern, um Konflikte mit der vorhandenen Anwendung zu vermeiden.
Dies sind die folgenden Änderungen, die an der Tomcat Server-Konfigurationsdatei, nämlich conf/server.xml, vorgenommen wurden.
1. Port zum Herunterfahren von 8005 auf 8006 geändert
<Server port="8005" shutdown="SHUTDOWN">
to
<Server port="8006" shutdown="SHUTDOWN">
2. Konnektorport von 8080 auf 8081 geändert
<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. AJP-Port von 8009 auf 8010 geändert
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" />
<Connector port="8010" protocol="AJP/1.3" redirectPort="8443" />
Nachdem Sie diese Änderungen übernommen haben, starten Sie unsere neue Tomcat-Anwendung unter /opt/apache-tomcat8-2
neuroot@ubuntu:/opt# chown -R tomcat.tomcat /opt/apache-tomcat8-2
root@ubuntu:/opt#cd apache-tomcat8-2
Das Skript für den Benutzer ausführbar machen.
root@ubuntu:/opt/apache-tomcat8-2# chmod 700 bin/*.sh
Wechseln Sie zum Tomcat-Benutzer und starten Sie die Anwendung.
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.
Überprüfen Sie die zweite Tomcat-Instanz am Port 8081 unter der URL http://SERVERIP:8081
Das ist es! Sie sind mit den grundlegenden Dingen bei Tomcat-Installationen fertig. Ich hoffe, Sie haben es genossen, diesen Artikel zu lesen. Ich würde Ihre wertvollen Vorschläge und Kommentare dazu empfehlen. Vielen Dank für das Lesen :)
Ich wünsche Ihnen einen schönen Tag!