GNU/Linux >> LINUX-Kenntnisse >  >> Linux

So richten Sie Tomcat mit Nginx als Reverse Proxy unter Ubuntu 18.04 ein

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!


Linux
  1. So richten Sie Nginx als Reverse Proxy unter Ubuntu 20.04 ein

  2. So installieren Sie Odoo 11 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  3. So installieren Sie Odoo 10 auf Ubuntu 16.04 mit Nginx als Reverse Proxy

  4. So installieren Sie Flectra auf Ubuntu 20.04 mit Nginx als Reverse Proxy

  5. So installieren Sie Odoo 12 auf Ubuntu 18.04 mit Nginx als Reverse Proxy

So richten Sie Nginx als Reverse Proxy für Apache auf Ubuntu 18.04 VPS ein

So richten Sie einen Seafile-Server mit Nginx unter Ubuntu 18.04 ein

So installieren Sie Bludit CMS mit NGINX unter Ubuntu 20.04

So installieren Sie das Talkyard-Forum mit Nginx unter Ubuntu 18.04

So installieren Sie Apache Tomcat 10 auf Ubuntu 20.04 mit Nginx

So installieren Sie Apache Tomcat 10 auf Ubuntu 22.04 mit Nginx