GNU/Linux >> Tutoriales Linux >  >> Debian

Cómo instalar GlassFish con Nginx como proxy inverso en Debian 10

GlassFish es una implementación de código abierto y la primera en el mundo de la plataforma Java desarrollada por Eclipse Foundation. Es un servidor de aplicaciones liviano y admite diferentes tecnologías basadas en Java como Enterprise JavaBeans, JPA, JavaServer Faces, JMS y muchas más. GlassFish viene con una consola de administración simple y fácil de usar con una herramienta de actualización para actualizaciones y componentes complementarios.

En este tutorial, explicaremos cómo instalar GlassFish en Debian 10 con Nginx como proxy inverso.

Requisitos

  • Un servidor que ejecuta Debian 10.
  • Se ha configurado una contraseña de root para su servidor.

Cómo empezar

Antes de comenzar, deberá actualizar su sistema con la última versión. Puede hacerlo ejecutando el siguiente comando:

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

Una vez que su servidor esté actualizado, reinícielo para aplicar los cambios.

Instalando Java

GlassFish requiere que la versión 8 de Java esté instalada en su servidor. Por lo tanto, deberá eliminar Java si tiene cualquier otra versión de Java instalada en su sistema.

Puede eliminar la versión 11 de Java con el siguiente comando:

apt-get remove openjdk-11-jre-headless

A continuación, deberá descargar la versión 8 de Java desde su sitio web oficial. Una vez completada la descarga, extraiga el archivo descargado al directorio /usr/lib/jvm con el siguiente comando:

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

A continuación, establezca la versión predeterminada de Java con el siguiente comando:

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

Deberías obtener el siguiente resultado:

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

Ahora puede comprobar la versión de Java con el siguiente comando:

java -version

Debería ver el siguiente resultado:

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)

Instalar GlassFish

Primero, instale los paquetes requeridos con el siguiente comando:

apt-get install wget unzip -y

A continuación, descargue la última versión de GlassFish con el siguiente comando:

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

Una vez que se haya completado la descarga, extraiga el archivo descargado al directorio /opt usando el siguiente comando:

unzip latest-glassfish.zip -d /opt/

Una vez que haya terminado, puede continuar con el siguiente paso.

Crea un servicio GlassFish

A continuación, puede crear un archivo de servicio systemd para administrar el servicio GlassFish. Puedes crearlo con el siguiente comando:

nano /etc/systemd/system/glassfish.service

Agrega el siguiente contenido:

[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

Guarde y cierre el archivo. Luego, vuelva a cargar el demonio systemd con el siguiente comando:

systemctl daemon-reload

A continuación, inicie el servicio GlassFish y habilítelo para que se inicie en el arranque con el siguiente comando:

systemctl start glassfish
systemctl enable glassfish

Ahora puede verificar el estado del servicio GlassFish con el siguiente comando:

systemctl status glassfish

Deberías obtener el siguiente resultado:

? 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)

Habilitar la consola de administración de GlassFish

De forma predeterminada, la contraseña de la consola de administración de GlassFish no está configurada. Por lo tanto, deberá actualizar la contraseña de administrador.

Ejecute el siguiente comando para establecer la contraseña de administrador:

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

Proporcione su contraseña deseada y presione Entrar. Una vez que se haya establecido la contraseña, debería ver el siguiente resultado:

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.

A continuación, deberá habilitar la función de administración segura. Puedes hacerlo con el siguiente comando:

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

Proporcione su nombre de usuario y contraseña de administrador y presione Entrar para habilitar el administrador seguro como se muestra a continuación:

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.

A continuación, reinicie el servicio GlassFish para aplicar los cambios de configuración:

systemctl restart glassfish

Acceder a GlassFish

De forma predeterminada, la aplicación GlassFish se ejecuta en el puerto 8080. Puede acceder visitando la URL http://your-server-ip:8080. Debería ver la siguiente página:

La consola de administración de GlassFish se ejecuta en el puerto 4848. Puede acceder a ella visitando la URL http://your-server-ip:4848. Debería ver la página de inicio de sesión de GlassFish:

Proporcione su nombre de usuario y contraseña de administrador y haga clic en Iniciar sesión botón. Debería ver la consola de administración de GlassFish en la siguiente pantalla:

Implementar aplicación en GlassFish

GlassFish ahora está instalado y configurado, es hora de implementar la aplicación de muestra en GlassFish.

Primero, descarga la aplicación hello.war con el siguiente comando:

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

A continuación, implemente la aplicación hello.war con el siguiente comando:

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

Debería ver el siguiente resultado:

  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.

Para acceder a su aplicación, abra su navegador web y escriba la URL http://your-server-ip:8080/hello. Será redirigido a la siguiente página:

Configurar Nginx como proxy inverso

Ahora, deberá configurar Nginx como un proxy inverso para la solicitud de proxy que viene en el puerto 80 a 8080.

Primero, instale Nginx con el siguiente comando:

apt-get install nginx -y

Una vez que se haya instalado nginx, cree un archivo de host virtual de Nginx para GlassFish con el siguiente comando:

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

Agregue las siguientes líneas:

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

Guarde y cierre el archivo. Luego, verifique Nginx por cualquier error de sintaxis con el siguiente comando:

nginx -t

Deberías obtener el siguiente resultado:

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

A continuación, habilite el host virtual Nginx y reinicie el servicio Nginx con el siguiente comando:

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

Ahora, puede acceder a su aplicación visitando la URL http://example.com.

¡Felicidades! Ha instalado correctamente GlassFish con Nginx como proxy inverso en Debian 10. Ahora puede implementar fácilmente cualquier aplicación basada en Java en su servidor.


Debian
  1. Cómo instalar Odoo 14 en CentOS 8 con Nginx como proxy inverso

  2. Cómo instalar Flectra en Ubuntu 20.04 con Nginx como proxy inverso

  3. Cómo instalar Odoo 12 en Ubuntu 18.04 con Nginx como proxy inverso

  4. Cómo instalar y configurar JBoss AS con Java y Apache2 como proxy inverso

  5. Cómo instalar Odoo 11 en Debian 9 con Nginx como proxy inverso

Cómo instalar el servidor de aplicaciones Java WildFly con Nginx Reverse Proxy en Ubuntu 20.04

Cómo instalar Apache Tomcat 9 con Nginx Proxy en Debian 10

Cómo instalar GlassFish Java Server con Nginx como proxy inverso en Debian 11

Cómo instalar Nextcloud 10 con Nginx en Debian 8

Instale Plex Media Server en Debian 11 Bullseye con Nginx Reverse Proxy

Cómo instalar phpMyAdmin con Nginx en Debian 11