GNU/Linux >> Tutoriales Linux >  >> Debian

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

GlassFish es un servidor de aplicaciones de código abierto que se utiliza para implementar aplicaciones Java. Es compatible con diferentes tecnologías basadas en Java, incluidas JPA, JavaServer Faces, JMS, RMI, así como muchas otras tecnologías basadas en Java. Proporciona una interfaz basada en web y de línea de comandos para administrar aplicaciones Java y sus componentes. GlassFish le permite crear aplicaciones portátiles y escalables que se pueden integrar fácilmente con tecnologías heredadas.

En este tutorial, le mostraré cómo instalar el servidor Glassfish con Nginx como proxy inverso en Debian 11.

Requisitos

  • Un servidor que ejecuta Debian 11.
  • Un nombre de dominio válido apuntado con la IP de su servidor.
  • Se configura una contraseña raíz en el servidor.

Instalar Java

Glassfish es un software de aplicación basado en Java, por lo que Java debe estar instalado en su servidor. Si no está instalado, puede instalarlo ejecutando el siguiente comando:

apt-get install default-jdk unzip -y

Una vez que Java esté instalado, puede verificar la instalación de Java usando el siguiente comando:

java --version

Obtendrá el siguiente resultado:

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 vez que haya terminado, puede continuar con el siguiente paso.

Descargar Glassfish

Primero, deberá descargar la última versión de Glassfish del sitio web de Eclipse. Puede descargarlo usando el comando wget como se muestra a continuación:

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

Una vez completada la descarga, extraiga el archivo descargado al directorio /opt:

unzip glassfish-6.1.0.zip -d /opt/

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

Crear un archivo de servicio de Systemd para Glassfish

A continuación, deberá crear un archivo de servicio systemd para administrar el servicio Glassfish. Puedes crearlo usando el siguiente comando:

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

Agregue las siguientes líneas:

[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

Guarde y cierre el archivo cuando haya terminado. Luego, vuelva a cargar el demonio systemd para aplicar los cambios.

systemctl daemon-reload

A continuación, inicie el servicio Glassfish y habilítelo para que se inicie al reiniciar el sistema:

systemctl start glassfish
systemctl enable glassfish

También puede verificar el servicio Glassfish usando el siguiente comando:

systemctl status glassfish

Obtendrá el siguiente resultado:

? 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 vez que haya terminado, puede continuar con el siguiente paso.

Establecer contraseña de administrador de Glassfish

De forma predeterminada, se puede acceder a Glassfish sin ninguna contraseña. Por lo tanto, es una buena idea protegerlo configurando una contraseña de administrador. Puede hacerlo ejecutando el siguiente comando:

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

Se le pedirá que proporcione el nombre de usuario del administrador como se muestra a continuación:

Enter admin user name [default: admin]>admin

Proporcione el nombre de usuario de administrador predeterminado y presione la tecla Intro. Se le pedirá que proporcione la contraseña de administrador existente:

Enter the admin password> 

Simplemente presione la tecla Intro. Se le pedirá que establezca una nueva contraseña de administrador como se muestra a continuación:

Ingrese la nueva contraseña de administrador> Ingrese la nueva contraseña de administrador nuevamente>

Establezca su contraseña segura y presione Entrar. Obtendrá el siguiente resultado:

Command change-admin-password executed successfully.

A continuación, también se recomienda habilitar HTTPS en Glassfish. Puede hacerlo ejecutando el siguiente comando:

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

Se le pedirá que proporcione su nombre de usuario y contraseña de administrador para habilitar 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.

Finalmente, reinicie el servicio Glassfish para aplicar los cambios:

systemctl restart glassfish

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

Acceder a la interfaz web de GlassFish

En este punto, Glassfish está instalado y funcionando. De forma predeterminada, la interfaz web de Glassfish escucha en el puerto 8080 mientras la interfaz de administración escucha en el puerto 4848 . Primero, acceda a la interfaz web de Glassfish usando la URL http://your-server-ip:8080 . Debería ver la siguiente página:

A continuación, acceda a la interfaz de administración de Glassfish mediante la URL https://your-server-ip:4848 . Será redirigido a 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 interfaz de administración de Glassfish en la siguiente página:

Haga clic en el servidor en el panel izquierdo, debería ver la siguiente pantalla:

Desde aquí, puede reiniciar, detener y ver los registros de Glassfish.

Haga clic en los Nodos en el panel izquierdo, debería ver la información del nodo Glassfish en la siguiente pantalla:

Configurar Nginx como proxy inverso para Glassfish

Es una buena idea configurar Nginx como un proxy inverso para acceder a la interfaz web de Glassfish. Para que pueda acceder a su aplicación sin usar el puerto 8080 .

Para hacerlo, primero instale el paquete Nginx con el siguiente comando:

apt-get install nginx -y

Una vez instalado, cree un archivo de configuración de host virtual Nginx usando el siguiente comando:

nano /etc/nginx/conf.d/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     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/;
  }
}

Guarde y cierre el archivo, luego verifique el Nginx para cualquier error de sintaxis usando el siguiente comando:

nginx -t

Si todo está bien, obtendrá 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, reinicie el servicio Nginx para aplicar los cambios:

systemctl restart nginx

También puede comprobar el estado de Nginx con el siguiente comando:

systemctl status nginx

Deberías obtener el siguiente resultado:

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

En este punto, Nginx está instalado y configurado para funcionar con la interfaz web de Glassfish. Ahora puede acceder a la interfaz web de Glassfish mediante la URL http://glassfish.example.com .

Conclusión

¡Felicidades! Ha instalado correctamente el servidor Glassfish con Nginx como proxy inverso en Debian 11. Ahora puede comenzar a implementar su aplicación basada en Java en el servidor Glassfish. Siéntase libre de preguntarme si tiene alguna pregunta.


Debian
  1. Cómo instalar el servidor HTTP Git con Nginx en Debian 11

  2. Cómo instalar Odoo 10 en CentOS 7 con Nginx como proxy inverso

  3. Cómo instalar Flectra en CentOS 8 con Nginx como proxy inverso

  4. Cómo instalar Odoo 12 en Debian 10 con Nginx como proxy inverso

  5. Cómo instalar WonderCMS con Nginx en Debian 11

Cómo instalar el servidor de documentos ONLYOFFICE con Nginx en Debian 10

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

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

Cómo instalar phpMyAdmin con Nginx en Debian 11

Cómo instalar Nginx con PHP-FPM en Debian 11