GNU/Linux >> Linux Esercitazione >  >> Debian

Come installare GlassFish con Nginx come proxy inverso su Debian 10

GlassFish è una prima implementazione open source al mondo della piattaforma Java sviluppata da Eclipse Foundation. È un server applicativo leggero e supporta diverse tecnologie basate su Java come Enterprise JavaBeans, JPA, JavaServer Faces, JMS e molte altre. GlassFish viene fornito con una console di amministrazione semplice e facile da usare con uno strumento di aggiornamento per aggiornamenti e componenti aggiuntivi.

In questo tutorial spiegheremo come installare GlassFish su Debian 10 con Nginx come proxy inverso.

Requisiti

  • Un server che esegue Debian 10.
  • È stata impostata una password di root sul tuo server.

Per iniziare

Prima di iniziare, dovrai aggiornare il tuo sistema con l'ultima versione. Puoi farlo eseguendo il seguente comando:

apt-get update -y
apt-get upgrade -y

Una volta aggiornato il server, riavvia il server per applicare le modifiche.

Installazione di Java

GlassFish richiede l'installazione di Java versione 8 sul tuo server. Quindi, dovrai rimuovere Java se hai altre versioni Java installate sul tuo sistema.

Puoi rimuovere Java versione 11 con il seguente comando:

apt-get remove openjdk-11-jre-headless

Successivamente, dovrai scaricare la versione 8 di Java dal loro sito Web ufficiale. Una volta completato il download, estrai il file scaricato nella directory /usr/lib/jvm con il seguente comando:

mkdir /usr/lib/jvm/
tar -zxvf jdk-8u221-linux-x64.tar.gz -C /usr/lib/jvm/

Quindi, imposta la versione Java predefinita con il seguente comando:

update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk1.8.0_221/bin/java 1

Dovresti ottenere il seguente output:

update-alternatives: using /usr/lib/jvm/jdk1.8.0_221/bin/java to provide /usr/bin/java (java) in auto mode

Ora puoi controllare la versione java con il seguente comando:

java -version

Dovresti vedere il seguente output:

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)

Installa GlassFish

Innanzitutto, installa i pacchetti richiesti con il seguente comando:

apt-get install wget unzip -y

Quindi, scarica l'ultima versione di GlassFish con il seguente comando:

wget http://download.oracle.com/glassfish/5.0.1/nightly/latest-glassfish.zip

Una volta completato il download, estrai il file scaricato nella directory /opt utilizzando il seguente comando:

unzip latest-glassfish.zip -d /opt/

Una volta terminato, puoi procedere al passaggio successivo.

Crea un servizio GlassFish

Successivamente, puoi creare un file di servizio systemd per gestire il servizio GlassFish. Puoi crearlo con il seguente comando:

nano /etc/systemd/system/glassfish.service

Aggiungi il seguente contenuto:

[Unit]
Description = GlassFish Server v5.0
After = syslog.target network.target

[Service]
ExecStart=/opt/glassfish5/bin/asadmin start-domain
ExecReload=/opt/glassfish5/bin/asadmin restart-domain
ExecStop=/opt/glassfish5/bin/asadmin stop-domain
Type = forking

[Install]
WantedBy = multi-user.target

Salva e chiudi il file. Quindi, ricarica il demone systemd con il seguente comando:

systemctl daemon-reload

Quindi, avvia il servizio GlassFish e abilitalo all'avvio all'avvio con il seguente comando:

systemctl start glassfish
systemctl enable glassfish

Ora puoi controllare lo stato del servizio GlassFish con il seguente comando:

systemctl status glassfish

Dovresti ottenere il seguente output:

? glassfish.service - GlassFish Server v5.0
   Loaded: loaded (/etc/systemd/system/glassfish.service; disabled; vendor preset: enabled)
   Active: active (running) since Thu 2019-09-19 04:54:25 EDT; 42s ago
  Process: 15205 ExecStart=/opt/glassfish5/bin/asadmin start-domain (code=exited, status=0/SUCCESS)
 Main PID: 15217 (java)
    Tasks: 90 (limit: 1138)
   Memory: 271.7M
   CGroup: /system.slice/glassfish.service
           ??15217 /usr/lib/jvm/jdk1.8.0_221/bin/java -cp /opt/glassfish5/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOptions -XX:Ne

Sep 19 04:53:42 debian systemd[1]: Starting GlassFish Server v5.0...
Sep 19 04:54:24 debian asadmin[15205]: Waiting for domain1 to start .................................
Sep 19 04:54:24 debian asadmin[15205]: Successfully started the domain : domain1
Sep 19 04:54:24 debian asadmin[15205]: domain  Location: /opt/glassfish5/glassfish/domains/domain1
Sep 19 04:54:24 debian asadmin[15205]: Log File: /opt/glassfish5/glassfish/domains/domain1/logs/server.log
Sep 19 04:54:24 debian asadmin[15205]: Admin Port: 4848
Sep 19 04:54:24 debian asadmin[15205]: Command start-domain executed successfully.
Sep 19 04:54:25 debian systemd[1]: Started GlassFish Server v5.0.
lines 1-18/18 (END)

Abilita la Console di amministrazione GlassFish

Per impostazione predefinita, la password della console di amministrazione di GlassFish non è impostata. Quindi, dovrai aggiornare la password dell'amministratore.

Esegui il comando seguente per impostare la password amministratore:

/opt/glassfish5/bin/asadmin change-admin-password

Fornisci la password desiderata e premi Invio. Una volta impostata la password, dovresti vedere il seguente output:

Enter admin user name [default: admin]>admin
Enter the admin password> 
Enter the new admin password> 
Enter the new admin password again> 
Command change-admin-password executed successfully.

Successivamente, dovrai abilitare la funzione di amministrazione sicura. Puoi farlo con il seguente comando:

/opt/glassfish5/bin/asadmin enable-secure-admin

Fornisci il nome utente e la password dell'amministratore e premi Invio per abilitare l'amministratore sicuro come mostrato di seguito:

Enter admin user name>  admin
Enter admin password for user "admin"> 
You must restart all running servers for the change in secure admin to take effect.
Command enable-secure-admin executed successfully.

Quindi, riavvia il servizio GlassFish per applicare le modifiche alla configurazione:

systemctl restart glassfish

Accedi a GlassFish

Per impostazione predefinita, l'applicazione GlassFish viene eseguita sulla porta 8080. Puoi accedervi visitando l'URL http://your-server-ip:8080. Dovresti vedere la seguente pagina:

La console di amministrazione di GlassFish funziona sulla porta 4848. Puoi accedervi visitando l'URL http://your-server-ip:4848. Dovresti vedere la pagina di accesso di GlassFish:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere la console di amministrazione di GlassFish nella schermata seguente:

Distribuisci applicazione su GlassFish

GlassFish è ora installato e configurato, è ora di distribuire l'applicazione di esempio su GlassFish.

Innanzitutto, scarica l'applicazione hello.war con il seguente comando:

wget https://github.com/dmatej/Glassfish/raw/master/v2/www/downloads/quickstart/hello.war

Quindi, distribuisci l'applicazione hello.war con il comando seguente:

/opt/glassfish5/bin/asadmin deploy hello.war

Dovresti vedere il seguente output:

  Version: V3
  Subject: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US
  Signature Algorithm: SHA256withRSA, OID = 1.2.840.113549.1.1.11

  Key:  Sun RSA public key, 2048 bits
  modulus: 26796330640308027923768800042502020134808966576745098232029910481655545436468207928921434907495986430069072245547607053010428717755932187048623252153613041636091429700133899537566912806297788375081359516836091002133743138757261794690981737280330851500902934286405305506594303276580413684625941149729611614458782091187522283499926880436357851913036137048969953439207474630152049712806975982901461106170366207997764866053158318707816771263261147284707875045634066423002500565550480728681743613266266732299458152358213914375115269066441015633123820868476095174900081535873996509058837674720310526766610294764426209317187
  public exponent: 65537
  Validity: [From: Tue Jan 15 21:17:50 EST 2019,
               To: Fri Jan 12 21:17:50 EST 2029]
  Issuer: CN=localhost, OU=GlassFish, O=Oracle Corporation, L=Santa Clara, ST=California, C=US
  SerialNumber: [    3347569f]

Certificate Extensions: 1
[1]: ObjectId: 2.5.29.14 Criticality=false
SubjectKeyIdentifier [
KeyIdentifier [
0000: F2 F1 22 14 40 CA 9E 1D   92 3B B6 B9 09 D1 27 E7  .."[email protected];....'.
0010: 50 1A 37 4D                                        P.7M
]
]

]
  Algorithm: [SHA256withRSA]
  Signature:
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.KL
0040: 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  [email protected]*..
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   E0 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.."[email protected]
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..$..;.B
00D0: 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....$.W
00F0: 22 02 DA 76 FF 2E B7 C5   E4 E6 50 BD 73 36 AA 8A  "..v......P.s6..

]
Do you trust the above certificate [y|N] -->y
Enter admin user name>  admin
Enter admin password for user "admin"> 
Application deployed with name hello.
Command deploy executed successfully.

Per accedere alla tua applicazione, apri il tuo browser web e digita l'URL http://your-server-ip:8080/hello. Verrai reindirizzato alla seguente pagina:

Configura Nginx come proxy inverso

Ora dovrai configurare Nginx come proxy inverso per la richiesta proxy in arrivo sulla porta da 80 a 8080.

Innanzitutto, installa Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato nginx, crea un file host virtuale Nginx per GlassFish con il seguente comando:

nano /etc/nginx/sites-available/glassfish.conf

Aggiungi le seguenti righe:

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/;
  }
}

Salva e chiudi il file. Quindi, controlla Nginx per eventuali errori di sintassi con il seguente comando:

nginx -t

Dovresti ottenere il seguente output:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

Quindi, abilita l'host virtuale Nginx e riavvia il servizio Nginx con il seguente comando:

ln -s /etc/nginx/sites-available/glassfish.conf /etc/nginx/sites-enabled/
systemctl restart nginx

Ora puoi accedere alla tua applicazione visitando l'URL http://example.com.

Congratulazioni! hai installato correttamente GlassFish con Nginx come proxy inverso su Debian 10. Ora puoi distribuire facilmente qualsiasi applicazione basata su Java sul tuo server.


Debian
  1. Come installare Odoo 11 su CentOS 7 con Nginx come proxy inverso

  2. Come installare Flectra su CentOS 8 con Nginx come proxy inverso

  3. Come installare Odoo 14 su CentOS 8 con Nginx come proxy inverso

  4. Installa Odoo su un VPS Debian 8 con Nginx come proxy inverso

  5. Come installare Odoo 11 su Debian 9 con Nginx come proxy inverso

Come installare WildFly Java Application Server con Nginx Reverse Proxy su Ubuntu 20.04

Come installare Apache Tomcat 9 con Nginx Proxy su Debian 10

Come installare GlassFish Java Server con Nginx come proxy inverso su Debian 11

Come installare Nextcloud 10 con Nginx su Debian 8

Installa Plex Media Server su Debian 11 Bullseye con Nginx Reverse Proxy

Come installare phpMyAdmin con Nginx su Debian 11