GNU/Linux >> Linux Esercitazione >  >> Debian

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

GlassFish è un server di applicazioni open source utilizzato per la distribuzione di applicazioni Java. Supporta diverse tecnologie basate su Java, tra cui JPA, JavaServer Faces, JMS, RMI e molte altre tecnologie basate su Java. Fornisce un'interfaccia basata sul Web e a riga di comando per la gestione delle applicazioni Java e dei loro componenti. GlassFish ti consente di creare applicazioni portatili e scalabili che possono essere facilmente integrate con le tecnologie legacy.

In questo tutorial, ti mostrerò come installare il server Glassfish con Nginx come proxy inverso su Debian 11.

Prerequisiti

  • Un server che esegue Debian 11.
  • Un nome di dominio valido puntato all'IP del tuo server.
  • Sul server è configurata una password di root.

Installa Java

Glassfish è un software applicativo basato su Java, quindi Java deve essere installato sul tuo server. Se non è installato puoi installarlo eseguendo il seguente comando:

apt-get install default-jdk unzip -y

Una volta installato Java, è possibile verificare l'installazione Java utilizzando il seguente comando:

java --version

Otterrai il seguente output:

openjdk 11.0.13 2021-10-19
OpenJDK Runtime Environment (build 11.0.13+8-post-Debian-1deb11u1)
OpenJDK 64-Bit Server VM (build 11.0.13+8-post-Debian-1deb11u1, mixed mode, sharing)

Una volta terminato, puoi procedere al passaggio successivo.

Scarica Glassfish

Innanzitutto, dovrai scaricare l'ultima versione di Glassfish dal sito Web di Eclipse. Puoi scaricarlo usando il comando wget come mostrato di seguito:

wget https://download.eclipse.org/ee4j/glassfish/glassfish-6.1.0.zip

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

unzip glassfish-6.1.0.zip -d /opt/

Una volta terminato, puoi procedere al passaggio successivo.

Crea un file di servizio Systemd per Glassfish

Successivamente, dovrai creare un file di servizio systemd per la gestione del servizio Glassfish. Puoi crearlo usando il seguente comando:

nano /usr/lib/systemd/system/glassfish.service

Aggiungi le seguenti righe:

[Unit]
Description = GlassFish Server v6.1.0
After = syslog.target network.target

[Service]
User = root
ExecStart = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain
ExecStop = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar stop-domain
ExecReload = /usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar restart-domain
Type = forking

[Install]
WantedBy = multi-user.target

Salva e chiudi il file quando hai finito. Quindi, ricarica il demone systemd per applicare le modifiche.

systemctl daemon-reload

Quindi, avvia il servizio Glassfish e abilitalo per l'avvio al riavvio del sistema:

systemctl start glassfish
systemctl enable glassfish

Puoi anche verificare il servizio Glassfish utilizzando il seguente comando:

systemctl status glassfish

Otterrai il seguente output:

? glassfish.service - GlassFish Server v6.1.0
     Loaded: loaded (/lib/systemd/system/glassfish.service; disabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 04:56:16 UTC; 8s ago
    Process: 6018 ExecStart=/usr/bin/java -jar /opt/glassfish6/glassfish/lib/client/appserver-cli.jar start-domain (code=exited, status=0/SUC>
   Main PID: 6037 (java)
      Tasks: 91 (limit: 4679)
     Memory: 343.0M
        CPU: 13.299s
     CGroup: /system.slice/glassfish.service
             ??6037 /usr/lib/jvm/java-11-openjdk-amd64/bin/java -cp /opt/glassfish6/glassfish/modules/glassfish.jar -XX:+UnlockDiagnosticVMOp>

Nov 07 04:56:10 debian11 systemd[1]: Starting GlassFish Server v6.1.0...
Nov 07 04:56:16 debian11 java[6018]: Waiting for domain1 to start .....
Nov 07 04:56:16 debian11 java[6018]: Successfully started the domain : domain1
Nov 07 04:56:16 debian11 java[6018]: domain  Location: /opt/glassfish6/glassfish/domains/domain1
Nov 07 04:56:16 debian11 java[6018]: Log File: /opt/glassfish6/glassfish/domains/domain1/logs/server.log
Nov 07 04:56:16 debian11 java[6018]: Admin Port: 4848
Nov 07 04:56:16 debian11 java[6018]: Command start-domain executed successfully.
Nov 07 04:56:16 debian11 systemd[1]: Started GlassFish Server v6.1.0.

Una volta terminato, puoi procedere al passaggio successivo.

Imposta password amministratore Glassfish

Per impostazione predefinita, Glassfish è accessibile senza alcuna password. Quindi è una buona idea proteggerlo impostando una password amministratore. Puoi farlo eseguendo il seguente comando:

/opt/glassfish6/bin/asadmin --port 4848 change-admin-password

Ti verrà chiesto di fornire il nome utente amministratore come mostrato di seguito:

Enter admin user name [default: admin]>admin

Fornisci il nome utente amministratore predefinito e premi il tasto Invio. Ti verrà chiesto di fornire la password amministratore esistente:

Enter the admin password> 

Basta premere il tasto Invio. Ti verrà chiesto di impostare una nuova password amministratore come mostrato di seguito:

Immettere la nuova password amministratore> Immettere nuovamente la nuova password amministratore>

Imposta la tua password protetta e premi Invio. Otterrai il seguente output:

Command change-admin-password executed successfully.

Successivamente, si consiglia anche di abilitare HTTPS su Glassfish. Puoi farlo eseguendo il seguente comando:

/opt/glassfish6/bin/asadmin --port 4848 enable-secure-admin

Ti verrà chiesto di fornire il nome utente e la password di amministratore per abilitare HTTPS:

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.

Infine, riavvia il servizio Glassfish per applicare le modifiche:

systemctl restart glassfish

Una volta terminato, puoi procedere al passaggio successivo.

Accedi all'interfaccia web di GlassFish

A questo punto Glassfish è installato e funzionante. Per impostazione predefinita, l'interfaccia web di Glassfish è in ascolto sulla porta 8080 mentre l'interfaccia di amministrazione è in ascolto sulla porta 4848 . Innanzitutto, accedi all'interfaccia web di Glassfish utilizzando l'URL http://your-server-ip:8080 . Dovresti vedere la seguente pagina:

Quindi, accedi all'interfaccia di amministrazione di Glassfish utilizzando l'URL https://your-server-ip:4848 . Verrai reindirizzato alla pagina di accesso di Glassfish:

Fornisci il nome utente e la password dell'amministratore e fai clic su Accedi pulsante. Dovresti vedere l'interfaccia di amministrazione di Glassfish nella pagina seguente:

Fai clic sul server nel riquadro di sinistra, dovresti vedere la seguente schermata:

Da qui puoi riavviare, interrompere e visualizzare i log di Glassfish.

Fai clic sui Nodi nel riquadro di sinistra, dovresti vedere le informazioni sul nodo Glassfish nella schermata seguente:

Configura Nginx come proxy inverso per Glassfish

È una buona idea configurare Nginx come proxy inverso per accedere all'interfaccia web di Glassfish. In questo modo puoi accedere alla tua applicazione senza utilizzare la porta 8080 .

Per farlo, installa prima il pacchetto Nginx con il seguente comando:

apt-get install nginx -y

Una volta installato, crea un file di configurazione dell'host virtuale Nginx utilizzando il comando seguente:

nano /etc/nginx/conf.d/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     glassfish.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 verifica Nginx per eventuali errori di sintassi utilizzando il seguente comando:

nginx -t

Se tutto va bene, otterrai 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, riavvia il servizio Nginx per applicare le modifiche:

systemctl restart nginx

Puoi anche controllare lo stato di Nginx con il seguente comando:

systemctl status nginx

Dovresti ottenere il seguente output:

? nginx.service - A high performance web server and a reverse proxy server
     Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2021-11-07 05:02:58 UTC; 22s ago
       Docs: man:nginx(8)
    Process: 6790 ExecStartPre=/usr/sbin/nginx -t -q -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
    Process: 6791 ExecStart=/usr/sbin/nginx -g daemon on; master_process on; (code=exited, status=0/SUCCESS)
   Main PID: 6873 (nginx)
      Tasks: 3 (limit: 4679)
     Memory: 5.1M
        CPU: 53ms
     CGroup: /system.slice/nginx.service
             ??6873 nginx: master process /usr/sbin/nginx -g daemon on; master_process on;
             ??6875 nginx: worker process
             ??6876 nginx: worker process

Nov 07 05:02:58 debian11 systemd[1]: Starting A high performance web server and a reverse proxy server...
Nov 07 05:02:58 debian11 systemd[1]: Started A high performance web server and a reverse proxy server.

A questo punto, Nginx è installato e configurato per servire l'interfaccia web di Glassfish. Ora puoi accedere all'interfaccia web di Glassfish utilizzando l'URL http://glassfish.example.com .

Conclusione

Congratulazioni! hai installato correttamente il server Glassfish con Nginx come proxy inverso su Debian 11. Ora puoi iniziare a distribuire la tua applicazione basata su Java sul server Glassfish. Sentiti libero di chiedermi se hai domande.


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. Come installare Odoo 11 su Ubuntu 16.04 con Nginx come proxy inverso

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

Come installare ONLYOFFICE Document Server con Nginx su Debian 10

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

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

Come installare phpMyAdmin con Nginx su Debian 11

Come installare Nginx con PHP-FPM su Debian 11