GlassFish ist eine Open-Source- und weltweit erste Implementierung der Java-Plattform, die von der Eclipse Foundation entwickelt wurde. Es ist ein leichter Anwendungsserver und unterstützt verschiedene Java-basierte Technologien wie Enterprise JavaBeans, JPA, JavaServer Faces, JMS und viele mehr. GlassFish wird mit einer einfachen und benutzerfreundlichen Verwaltungskonsole mit einem Update-Tool für Updates und Zusatzkomponenten geliefert.
In diesem Tutorial erklären wir, wie man GlassFish auf Debian 10 mit Nginx als Reverse-Proxy installiert.
Anforderungen
- Ein Server mit Debian 10.
- Ein Root-Passwort wird für Ihren Server eingerichtet.
Erste Schritte
Bevor Sie beginnen, müssen Sie Ihr System mit der neuesten Version aktualisieren. Sie können dies tun, indem Sie den folgenden Befehl ausführen:
apt-get update -y
apt-get upgrade -y
Sobald Ihr Server aktualisiert ist, starten Sie Ihren Server neu, um die Änderungen zu übernehmen.
Installieren von Java
GlassFish erfordert die Installation von Java Version 8 auf Ihrem Server. Daher müssen Sie Java entfernen, wenn Sie eine andere Java-Version auf Ihrem System installiert haben.
Sie können die Java-Version 11 mit dem folgenden Befehl entfernen:
apt-get remove openjdk-11-jre-headless
Als nächstes müssen Sie die Java-Version 8 von der offiziellen Website herunterladen. Wenn der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl in das Verzeichnis /usr/lib/jvm:
mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/
Legen Sie als Nächstes die Standard-Java-Version mit dem folgenden Befehl fest:
update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1
Sie sollten die folgende Ausgabe erhalten:
update-alternatives:Verwendung von /usr/lib/jvm/jdk1.8.0_221/bin/java zur Bereitstellung von /usr/bin/java (java) im automatischen Modus
Sie können jetzt die Java-Version mit dem folgenden Befehl überprüfen:
Java-Version
Sie sollten die folgende Ausgabe sehen:
Java-Version „1.8.0_221“Java(TM) SE Runtime Environment (Build 1.8.0_221-b11)Java HotSpot(TM) 64-Bit Server VM (Build 25.221-b11, Mixed Mode)
Installieren Sie GlassFish
Installieren Sie zuerst die erforderlichen Pakete mit dem folgenden Befehl:
apt-get install wget unzip -y
Laden Sie als Nächstes die neueste Version von GlassFish mit dem folgenden Befehl herunter:
wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip
Nachdem der Download abgeschlossen ist, extrahieren Sie die heruntergeladene Datei mit dem folgenden Befehl in das Verzeichnis /opt:
neueste-glassfish.zip entpacken -d /opt/
Sobald Sie fertig sind, können Sie mit dem nächsten Schritt fortfahren.
Erstellen Sie einen GlassFish-Dienst
Als Nächstes können Sie eine systemd-Dienstdatei erstellen, um den GlassFish-Dienst zu verwalten. Sie können es mit dem folgenden Befehl erstellen:
nano /etc/systemd/system/glassfish.service
Fügen Sie den folgenden Inhalt hinzu:
[Unit]Description =GlassFish Server v5.0After =syslog.target network.target[Service]ExecStart=/opt/glassfish5/bin/asadmin start-domainExecReload=/opt/glassfish5/bin/asadmin restart-domainExecStop=/ opt/glassfish5/bin/asadmin stop-domainType =forking[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 GlassFish-Dienst und ermöglichen Sie ihm, beim Booten mit dem folgenden Befehl zu starten:
systemctl start glassfish
systemctl aktiviert glassfish
Sie können jetzt den Status des GlassFish-Dienstes mit dem folgenden Befehl überprüfen:
systemctl status glassfish
Sie sollten die folgende Ausgabe erhalten:
GlassFish-Admin-Konsole aktivieren
Standardmäßig ist das Passwort für die GlassFish-Verwaltungskonsole nicht festgelegt. Sie müssen also das Admin-Passwort aktualisieren.
Führen Sie den folgenden Befehl aus, um das Administratorkennwort festzulegen:
/opt/glassfish5/bin/asadmin change-admin-password
Geben Sie Ihr gewünschtes Passwort ein und drücken Sie die Eingabetaste. Nachdem das Passwort festgelegt wurde, sollten Sie die folgende Ausgabe sehen:
Admin-Benutzernamen eingeben [Standard:admin]>adminAdmin-Passwort eingeben>Neues Admin-Passwort eingeben>Neues Admin-Passwort erneut eingeben>Befehl change-admin-password erfolgreich ausgeführt.
Als nächstes müssen Sie die sichere Admin-Funktion aktivieren. Sie können dies mit dem folgenden Befehl tun:
/opt/glassfish5/bin/asadmin enable-secure-admin
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und drücken Sie die Eingabetaste, um den sicheren Admin wie unten gezeigt zu aktivieren:
Admin-Benutzernamen eingeben> adminAdmin-Passwort für Benutzer „admin“ eingeben> Sie müssen alle laufenden Server neu starten, damit die Änderung im sicheren Admin wirksam wird.Befehl enable-secure-admin erfolgreich ausgeführt.
Starten Sie als Nächstes den GlassFish-Dienst neu, um die Konfigurationsänderungen zu übernehmen:
systemctl Glassfish neu starten
Zugriff auf GlassFish
Standardmäßig wird die GlassFish-Anwendung auf Port 8080 ausgeführt. Sie können darauf zugreifen, indem Sie die URL http://your-server-ip:8080 besuchen. Sie sollten die folgende Seite sehen:
Die GlassFish-Verwaltungskonsole wird auf Port 4848 ausgeführt. Sie können darauf zugreifen, indem Sie die URL http://your-server-ip:4848 aufrufen. Sie sollten die Anmeldeseite von GlassFish sehen:
Geben Sie Ihren Admin-Benutzernamen und Ihr Passwort ein und klicken Sie auf Anmelden Taste. Sie sollten die GlassFish-Verwaltungskonsole auf dem folgenden Bildschirm sehen:
Anwendung auf GlassFish bereitstellen
GlassFish ist jetzt installiert und konfiguriert, es ist an der Zeit, die Beispielanwendung auf GlassFish bereitzustellen.
Laden Sie zunächst die hello.war-Anwendung mit dem folgenden Befehl herunter:
wget https://github.com/dmatej/Glassfish/raw/master/v2/www/downloads/quickstart/hello.war
Stellen Sie als Nächstes die hello.war-Anwendung mit dem folgenden Befehl bereit:
/opt/glassfish5/bin/asadmin deploy hello.war
Sie sollten die folgende Ausgabe sehen:
Version:V3 Betreff:CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=Kalifornien, C=US Signaturalgorithmus:SHA256withRSA, OID =1.2.840.113549.1.1.11 Schlüssel:Sun Öffentlicher RSA-Schlüssel, 2048-Bit-Modul:öffentlicher Exponent:65537 Gültigkeit:[Von:Dienstag, 15. Januar, 21:17:50 Uhr EST 2019, bis:Freitag, 12. Januar, 21:17:50 Uhr EST 2029] Aussteller:CN=localhost, OU=GlassFish , O=Oracle Corporation, L=Santa Clara, ST=Kalifornien, C=US Seriennummer:[ 3347569f]Zertifikaterweiterungen:1[1]:ObjectId:2.5.29.14 Criticality=falseSubjectKeyIdentifier [KeyIdentifier [0000:F2 F1 22 14 40 CA 9E 1D 92 3B B6 B9 09 D1 27 E7 .."[E-Mail-geschützt];....'.0010:50 1A 37 4D P.7M]]] Algorithmus:[SHA256withRSA] Signatur:0000:C7 CB 91 D4 9B 39 21 13 B3 48 87 09 85 2E DF B7 .....9!..H......0010:F9 E7 52 1B 39 D0 12 55 97 A8 02 8D B9 EC 26 F0 ..R.9. .U......&.0020:A6 8F 29 5B 96 80 71 AA CB C8 EA 83 4F 18 E7 19 ..)[..q.....O...0030:26 CF BF 72 B1 E6 23 53 F2 14 CD BA 68 FE 4B 4C &..r..#S....h.KL0040:BB B1 3E DE D9 EB 6D 96 8C 8F 0D 33 B6 E7 28 F1 ..>... m....3..(.0050:D5 40 6B BC 01 FF F9 5A 79 9A 96 DA D9 2A 84 99 [E-Mail-geschützt]*..0060:FA 3A 7A 9D 52 6C C2 D5 E9 DC 98 8B 20 EF 69 99 .:z.Rl...... .i.0070:E6 FC 1B 0F CA B2 0C 66 BE BB A7 EA 3D DB BB F5 .......f....=.. .0080:88 F1 B4 B1 15 74 FA 9F E 0 9A 98 C5 12 A0 60 B4 .....t........`.0090:9B 92 19 FD BA 81 20 7F 51 83 E9 22 56 96 9A 40 ...... .Q .."[E-Mail-geschützt]00A0:2C 27 BB 86 57 7D 2E E9 C5 98 1A 04 A2 C5 FC 17 ,'..W...........00B0:6E 8B 31 79 29 A0 A1 22 1A 31 C0 A6 96 7A D4 80 n.1y)..".1...z..00C0:3F 05 26 BB DE D1 2D 74 01 1F 24 EC CE 3B 97 42 ?.&...-t ..$..;.B00D0:16 E8 16 F1 A4 10 92 0B 8E A5 18 59 BF AA 69 B0 ...........Y..i.00E0:DB C8 C2 66 5F 5D 2F 3D 4B C7 90 1D C2 24 B1 57 ...f_]/=K....$.W00F0:22 02 DA 76 FF 2E B7 C5 E4 E6 50 BD 73 36 AA 8A "..v..... .P.s6..]Vertrauen Sie dem obigen Zertifikat [y|N] -->yAdmin-Benutzernamen eingeben> adminAdmin-Passwort für Benutzer "admin" eingeben> Anwendung mit dem Namen hello bereitgestellt.Befehlsbereitstellung erfolgreich ausgeführt.
Um auf Ihre Anwendung zuzugreifen, öffnen Sie Ihren Webbrowser und geben Sie die URL http://your-server-ip:8080/hello ein. Sie werden auf die folgende Seite weitergeleitet:
Nginx als Reverse-Proxy konfigurieren
Jetzt müssen Sie Nginx als Reverse-Proxy für Proxy-Anforderungen konfigurieren, die auf Port 80 zu 8080 kommen.
Installieren Sie zuerst Nginx mit dem folgenden Befehl:
apt-get install nginx -y
Erstellen Sie nach der Installation von nginx mit dem folgenden Befehl eine virtuelle Nginx-Hostdatei für GlassFish:
nano /etc/nginx/sites-available/glassfish.conf
Fügen Sie die folgenden Zeilen hinzu:
upstream glassfish { server 127.0.0.1:8080 weight=100 max_fails=5 fail_timeout=5;}server { listen 80; server_name example.com; 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://glassfish/hello/; }}
Speichern und schließen Sie die Datei. Überprüfen Sie dann Nginx mit dem folgenden Befehl auf Syntaxfehler:
nginx -t
Sie sollten die folgende Ausgabe erhalten:
nginx:Die Syntax der Konfigurationsdatei /etc/nginx/nginx.conf ist oknginx:Der Test der Konfigurationsdatei /etc/nginx/nginx.conf ist erfolgreich
Aktivieren Sie als Nächstes den virtuellen Nginx-Host und starten Sie den Nginx-Dienst mit dem folgenden Befehl neu:
ln -s /etc/nginx/sites-available/glassfish.conf /etc/nginx/sites-enabled/
systemctl restart nginx
Jetzt können Sie auf Ihre Anwendung zugreifen, indem Sie die URL http://example.com.
besuchenHerzliche Glückwünsche! Sie haben GlassFish mit Nginx erfolgreich als Reverse-Proxy auf Debian 10 installiert. Sie können jetzt jede Java-basierte Anwendung problemlos auf Ihrem Server bereitstellen.