Apache Tomcat ist eine Open-Source-Implementierung der Java-Servlet- und JSP-Technologien, die zum Bereitstellen von Java-basierten Anwendungen verwendet werden können. Es wurde im Rahmen des Apache-Jakarta-Unterprojekts erstellt, aber aufgrund seiner Popularität wird es jetzt als separates Apache-Projekt gehostet. Tomcat bietet auch zusätzliche Funktionen, die die Entwicklung einer vollständigen Webanwendungslösung erleichtern. Tomcat ist einfach, benutzerfreundlich und einer der am häufigsten verwendeten Webserver der Welt.
Wenn Sie Java-basierte Anwendungen ausführen möchten, die nahtlos und schnell funktionieren, ist Apache Tomcat die beste Wahl für Sie.
In diesem Tutorial lernen wir, wie man Apache Tomcat mit Nginx als Reverse-Proxy auf Ubuntu 18.04 VPS installiert und konfiguriert.
Voraussetzungen
- Ein frisches Ubuntu 18.04 VPS auf der Atlantic.Net Cloud Platform.
- Ein gültiger Domänenname, der auf Ihre VPS-IP-Adresse verweist. In diesem Tutorial verwenden wir example.com.
Hinweis :Informationen zur Verwaltung der DNS-Einträge finden Sie im Atlantic DNS Guide.
Schritt 1 – Atlantic.Net Cloud-Server erstellen
Melden Sie sich zunächst bei Ihrem Atlantic.Net Cloud Server an. Erstellen Sie einen neuen Server und wählen Sie Ubuntu 18.04 als Betriebssystem mit mindestens 2 GB RAM. Stellen Sie über SSH eine Verbindung zu Ihrem Cloud-Server her und melden Sie sich mit den oben auf der Seite hervorgehobenen Anmeldeinformationen an.
Sobald Sie sich bei Ihrem Ubuntu 18.04-Server angemeldet haben, führen Sie den folgenden Befehl aus, um Ihr Basissystem mit den neuesten verfügbaren Paketen zu aktualisieren.
apt-get update -y
Schritt 2 – Java installieren
Apache Tomcat ist eine Java-basierte Anwendung, daher muss Java auf Ihrem System installiert sein. Sie können die neueste Version von Java mit dem folgenden Befehl installieren:
apt-get install default-jdk -y
Überprüfen Sie nach der Installation von Java die Java-Version mit dem folgenden Befehl:
java --version
Sie sollten die folgende Ausgabe erhalten:
Schritt 4 – Tomcat-Benutzer erstellen
Als Nächstes müssen Sie einen Tomcat-Benutzer und eine Tomcat-Gruppe erstellen, um den Tomcat-Dienst auszuführen.
Erstellen Sie zuerst eine Gruppe mit dem Namen Tomcat mit dem folgenden Befehl:
groupadd tomcat
Erstellen Sie als Nächstes einen neuen Tomcat-Benutzer und machen Sie diesen Benutzer zu einem Mitglied der Tomcat-Gruppe mit einem /home/tomcat-Home-Verzeichnis.
useradd -s /bin/false -g tomcat -d /home/tomcat tomcat
An diesem Punkt wird der Tomcat-Benutzer erstellt.
Schritt 5 – Laden Sie Tomcat herunter
Besuchen Sie zunächst die Download-Seite von Apache Tomcat. Sie sollten den folgenden Bildschirm sehen:
Laden Sie als Nächstes die neueste Version von Apache Tomcat mit dem folgenden Befehl herunter:
wget http://www.mirrorservice.org/sites/ftp.apache.org/tomcat/tomcat-9/v9.0.31/bin/apache-tomcat-9.0.31-fulldocs.tar.gz
Extrahieren Sie nach dem Herunterladen von Apache Tomcat die heruntergeladene Datei mit dem folgenden Befehl:
tar -xvzf apache-tomcat-9.0.31-fulldocs.tar.gz
Verschieben Sie als nächstes das extrahierte Verzeichnis wie unten gezeigt nach /home/tomcat:
mv tomcat-9.0-doc /home/tomcat
Als nächstes ändern Sie den Besitz des /home/tomcat-Verzeichnisses auf tomcat und geben Sie die richtigen Berechtigungen mit dem folgenden Befehl:
chown -R tomcat:tomcat /home/tomcat chmod -R 755 /home/tomcat/
Schritt 6 – Erstellen Sie eine Systemeinheitendatei für Tomcat
Als Nächstes müssen Sie eine systemd-Dienstdatei erstellen, um Tomcat als Dienst auszuführen. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/tomcat.service
Fügen Sie die folgenden Zeilen hinzu:
[Unit] Description=Tomcat servlet container After=network.target [Service] Type=forking User=tomcat Group=tomcat Environment="JAVA_HOME=/usr/lib/jvm/default-java" Environment="JAVA_OPTS=-Djava.security.egd=file:///dev/urandom" Environment="CATALINA_BASE=/home/tomcat" Environment="CATALINA_HOME=/home/tomcat" Environment="CATALINA_PID=/home/tomcat/temp/tomcat.pid" Environment="CATALINA_OPTS=-Xms512M -Xmx1024M -server -XX:+UseParallelGC" ExecStart=/home/tomcat/bin/startup.sh ExecStop=/home/tomcat/bin/shutdown.sh [Install] WantedBy=multi-user.target
Speichern und schließen Sie die Datei. Laden Sie dann den systemd-Daemon mit dem folgenden Befehl neu:
systemctl daemon-reload
Starten Sie als Nächstes den Tomcat-Dienst und aktivieren Sie ihn nach dem Systemneustart:
systemctl start tomcat systemctl enable tomcat
Sie können den Status des Tomcat-Dienstes auch mit dem folgenden Befehl überprüfen:
systemctl status tomcat
Sie sollten die folgende Ausgabe sehen:
● tomcat.service - Tomcat servlet container Loaded: loaded (/etc/systemd/system/tomcat.service; disabled; vendor preset: enabled) Active: active (running) since Thu 2019-11-28 05:15:32 UTC; 7s ago Process: 6044 ExecStart=/home/tomcat/bin/startup.sh (code=exited, status=0/SUCCESS) Main PID: 6053 (java) Tasks: 43 (limit: 1150) CGroup: /system.slice/tomcat.service └─6053 /usr/lib/jvm/default-java/bin/java -Djava.util.logging.config.file=/home/tomcat/conf/logging.properties -Djava.util.logging.m Nov 28 05:15:32 ubuntu1804 systemd[1]: Starting Tomcat servlet container... Nov 28 05:15:32 ubuntu1804 startup.sh[6044]: Tomcat started. Nov 28 05:15:32 ubuntu1804 systemd[1]: Started Tomcat servlet container.
Schritt 7 – Greifen Sie auf die Tomcat-Weboberfläche zu
Tomcat ist jetzt installiert und läuft auf Port 8080. Sie können den Tomcat-Port mit dem folgenden Befehl überprüfen:
netstat -ant
Sie sollten die folgende Ausgabe sehen:
Active Internet connections (servers and established) Proto Recv-Q Send-Q Local Address Foreign Address State tcp 0 0 127.0.0.53:53 0.0.0.0:* LISTEN tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN tcp6 0 0 :::8009 :::* LISTEN tcp6 0 0 :::8080 :::* LISTEN tcp6 0 0 :::22 :::* LISTEN tcp6 0 0 127.0.0.1:8005 :::* LISTEN
Öffnen Sie nun Ihren Webbrowser und besuchen Sie die URL http://your-server-ip:8080 . Sie sollten die Tomcat-Standardwebseite sehen:
Schritt 8 – Konfigurieren Sie die Tomcat-Webverwaltungsschnittstelle
Als Nächstes müssen Sie ein Login hinzufügen, um auf die Manager-Webanwendung zuzugreifen.
Sie können einen Benutzer für den Zugriff auf manager-gui und admin-gui hinzufügen, indem Sie die Datei tomcat-users.xml bearbeiten:
nano /home/tomcat/conf/tomcat-users.xml
Fügen Sie die folgenden Zeilen oberhalb der Zeile hinzu:
<role rolename="manager-gui"/> <user username="tomcat1" password="s3cret" roles="manager-gui"/> <role rolename="admin-gui"/> <user username="tomcat" password="s3cret" roles="admin-gui"/>
Speichern und schließen Sie die Datei, wenn Sie fertig sind.
Um die Einschränkung für die Manager-App zu entfernen, bearbeiten Sie die Datei context.xml wie unten gezeigt:
nano /home/tomcat/webapps/manager/META-INF/context.xml
Kommentieren Sie den Valve-Abschnitt wie unten gezeigt aus:
<Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44" /> --> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$ </Context>
Speichern und schließen Sie die Datei.
Um die Einschränkung für die Host Manager-App zu entfernen, bearbeiten Sie die Datei context.xml wie unten gezeigt:
nano /home/tomcat/webapps/host-manager/META-INF/context.xml
Kommentieren Sie den Valve-Abschnitt wie unten gezeigt aus:
<Context antiResourceLocking="false" privileged="true" > <!-- <Valve className="org.apache.catalina.valves.RemoteAddrValve" allow="127\.\d+\.\d+\.\d+|::1|0:0:0:0:0:0:0:1|223.184.194.44|172.20.10.3" /> --> <Manager sessionAttributeValueClassNameFilter="java\.lang\.(?:Boolean|Integer|Long|Number|String)|org\.apache\.catalina\.filters\.CsrfPreven$ </Context>
Speichern und schließen Sie die Datei, wenn Sie fertig sind. Starten Sie dann den Tomcat-Dienst neu, um die Änderungen zu übernehmen:
systemctl restart tomcat
Öffnen Sie nun Ihren Webbrowser und geben Sie die URL http://your-server-ip:8080 ein . Sie sollten die folgende Seite sehen:
Klicken Sie nun auf Manager App/Host Manage Taste. Sie werden zur Eingabe des Admin-Benutzernamens und -Passworts aufgefordert. Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten den Manager App/Host Manager auf der folgenden Seite sehen:
Schritt 9 – Nginx-Proxy für Tomcat konfigurieren
Installieren Sie zuerst den Nginx-Webserver mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation eine neue virtuelle Host-Konfigurationsdatei für Tomcat.
nano /etc/nginx/sites-available/tomcat.conf
Fügen Sie die folgenden Zeilen hinzu:
server { listen 80; server_name example.com; access_log /var/log/nginx/tomcat-access.log; error_log /var/log/nginx/tomcat-error.log; location / { proxy_set_header X-Forwarded-Host $host; proxy_set_header X-Forwarded-Server $host; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:8080/; } }
Speichern und schließen Sie die Datei, aktivieren Sie dann die virtuelle Nginx-Hostdatei und starten Sie den Nginx-Webserver neu, um die Konfiguration zu übernehmen:
ln -s /etc/nginx/sites-available/tomcat.conf /etc/nginx/sites-enabled/ systemctl restart nginx
Jetzt können Sie über die URL http://example.com auf Ihre Tomcat-Weboberfläche zugreifen .
Schlussfolgerung
Herzliche Glückwünsche! Ihre Tomcat-Installation ist nun abgeschlossen. Ich hoffe, Sie haben jetzt genug Wissen, um Ihre Java-basierte Anwendung auf dem Tomcat-Server bereitzustellen. Weitere Informationen finden Sie in der offiziellen Tomcat-Dokumentation unter Tomcat Doc. Testen Sie Tomcat noch heute mit VPS-Hosting von Atlantic.Net!