Guía para Instalar y Configurar Jetty 12 en Ubuntu
Jetty es un servidor web y contenedor de servlets basado en Java, conocido por ser ligero, de alto rendimiento y fácil de embebeder en aplicaciones.
Esta guía te llevará a través del proceso de instalación en el directorio /srv y configuración para usar el puerto 8010.
Paso 1: Prerrequisitos e Instalación de Java
Jetty 12 requiere Java 17 o superior. Para instalar el JDK en Ubuntu, abre una terminal y ejecuta:
sudo apt update && sudo apt upgrade -y
sudo apt install openjdk-17-jdk -y
Verifica que la instalación fue exitosa:
java -version
Paso 2: Descargar e Instalar Jetty 12 en /srv
Crea el directorio y descarga Jetty 12.0.27 directamente desde el repositorio de Maven:
# Crear el directorio /srv/jetty si no existe
sudo mkdir -p /srv/jetty
cd /srv/jetty
# Descargar Jetty 12.0.27
sudo wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.27/jetty-home-12.0.27.tar.gz
# Extraer el archivo descargado
sudo tar -xzvf jetty-home-12.0.27.tar.gz
# Crear un enlace simbólico para facilitar el acceso
sudo ln -s jetty-home-12.0.27/ jetty-home
Tu estructura de directorios en /srv/jetty debería verse así:
/srv/jetty/
├── jetty-home-12.0.27/
└── jetty-home -> jetty-home-12.0.27/
Paso 3: Configurar el Entorno de Trabajo (JETTY_BASE)
Jetty utiliza un directorio de configuración separado (JETTY_BASE). Lo configurarás para usar el puerto 8010 y el módulo EE10 (Jakarta EE 10).
# Crear y navegar al directorio JETTY_BASE
export JETTY_HOME=/srv/jetty/jetty-home
sudo mkdir -p /srv/jetty/jetty-base
cd /srv/jetty/jetty-base
# Agregar los módulos esenciales: servidor HTTP y despliegue para Jakarta EE 10
sudo java -jar $JETTY_HOME/start.jar --add-modules=http,ee10-deploy
Paso 4: Cambiar el Puerto a 8010
Por defecto, Jetty usa el puerto 8080. Para cambiarlo a 8010, edita el archivo de configuración del módulo HTTP:
sudo nano /srv/jetty/jetty-base/start.d/http.ini
Encuentra la línea # jetty.http.port=8080, descoméntala y cambia el valor a:
jetty.http.port=8010
Guarda el archivo y cierra el editor.
Paso 5: Probar la Instalación
Inicia el servidor Jetty para verificar que todo funcione correctamente:
cd /srv/jetty/jetty-base
sudo java -jar $JETTY_HOME/start.jar
Si la configuración es correcta, verás un mensaje en los logs similar a:
2024-xx-xx xx:xx:xx.xxx:INFO :oejs.AbstractConnector:main: Started ServerConnector@xxxxxx{HTTP/1.1, (http/1.1)}{0.0.0.0:8010}
Prueba el acceso abriendo un navegador web y visitando http://tu-servidor:8010.
Paso 6 (Opcional): Desplegar tu Aplicación y Crear un Servicio
Para desplegar tu aplicación, simplemente copia el archivo WAR a la carpeta webapps:
sudo cp /ruta/a/tu/aplicacion.war /srv/jetty/jetty-base/webapps/
Para que Jetty se ejecute automáticamente al iniciar el sistema, puedes crear un servicio de systemd en /etc/systemd/system/jetty.service:
[Unit]
Description=Jetty Web Server
After=network.target
[Service]
Type=simple
User=jetty
Group=jetty
Environment=JETTY_HOME=/srv/jetty/jetty-home
ExecStart=/usr/bin/java -jar /srv/jetty/jetty-home/start.jar
WorkingDirectory=/srv/jetty/jetty-base
Restart=on-failure
[Install]
WantedBy=multi-user.target
Luego, habilita e inicia el servicio:
sudo systemctl daemon-reload
sudo systemctl enable jetty.service
sudo systemctl start jetty.service
Si tu aplicación utiliza el espacio de nombres legacy javax.* (de Java EE 8), en el Paso 3 puedes agregar también el módulo ee8-deploy:
--add-modules=http,ee10-deploy,ee8-deploy
Espero que este tutorial te sea de utilidad. Si encuentras algún problema durante la instalación o tienes más preguntas, no dudes en preguntar.
Comentarios
Publicar un comentario