Todos los productos
Search
Centro de documentos

Elastic Compute Service:Deploy a Java web environment with Jetty

Última actualización: Sep 03, 2026

Instale y configure Jetty en una instancia ECS para alojar aplicaciones web Java en un contenedor de servlets ligero.

Requisitos previos

Su instancia ECS debe cumplir con las siguientes condiciones:

Procedimiento

Elija un procedimiento según el sistema operativo de su instancia ECS.

Linux

Este tema utiliza Jetty 12.0.16 como ejemplo. Si usa una versión o directorio diferente, reemplace el número de versión y la ruta en consecuencia.

  1. Inicie sesión en el servidor Linux. Consulte Log on to a Linux instance using Workbench.

  2. Descargue y descomprima el paquete de instalación de Jetty 12.

    Importante
    • Para instalar una versión diferente o si el enlace de descarga no es válido, visite el sitio web oficial de Jetty para obtener el enlace correcto y reemplace la URL.

    • Las distintas versiones de Jetty admiten diferentes versiones de JDK. Revise el sitio web oficial de Jetty para seleccionar una versión de Jetty compatible con su JDK.

      image

    wget https://repo1.maven.org/maven2/org/eclipse/jetty/jetty-home/12.0.16/jetty-home-12.0.16.tar.gz --no-check-certificate
    tar -zxvf jetty-home-12.0.16.tar.gz
  3. Mueva el directorio de Jetty.

    sudo mv jetty-home-12.0.16 /usr/local/jetty/
  4. Cree el directorio jetty-base.

    sudo mkdir /usr/local/jetty-base
  5. Establezca las variables de entorno.

    1. Edite el archivo ~/.bashrc.

      sudo vim ~/.bashrc
    2. Presione i para entrar al modo de edición y agregue el siguiente contenido al archivo.

      Nota

      Establezca JETTY_HOME en el directorio real de instalación de Jetty y JETTY_BASE en el directorio jetty-base.

      export JETTY_HOME=/usr/local/jetty
      export JETTY_BASE=/usr/local/jetty-base
    3. Presione Esc, introduzca :wq y presione Enter para guardar y cerrar el archivo.

    4. Aplique los cambios.

      source ~/.bashrc
  6. Habilite los módulos de Jetty e inicialice el directorio jetty-base.

    1. Vaya al directorio jetty-base.

      cd /usr/local/jetty-base
    2. Inicialice el directorio jetty-base. Esto crea el directorio $JETTY_BASE/start.d/ y otros directorios que contienen la configuración del servidor.

      Nota
      • Para ver los módulos disponibles, ejecute el comando java -jar $JETTY_HOME/start.jar --list-modules=*.

      • Si utiliza Jetty 9, reemplace --add-module por --add-to-start.

      sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
      [test@jxxx            jetty-base]$ sudo java -jar $JETTY_HOME/start.jar --add-module=server,http,deploy
      INFO : mkdir ${jetty.base}/start.d
      INFO : webapp          transitively enabled, ini template available with --add-module=webapp
      INFO : server          initialized in ${jetty.base}/start.d/server.ini
      INFO : logging-jetty   transitively enabled
      INFO : security        transitively enabled
      INFO : servlet         transitively enabled
      INFO : resources       transitively enabled
      INFO : http            initialized in ${jetty.base}/start.d/http.ini
      INFO : threadpool      transitively enabled, ini template available with --add-module=threadpool
      INFO : logging/slf4j   transitive provider of logging/slf4j for logging-jetty
      INFO : logging/slf4j   dynamic dependency of logging-jetty
      INFO : bytebufferpool  transitively enabled, ini template available with --add-module=bytebufferpool
      INFO : deploy          initialized in ${jetty.base}/start.d/deploy.ini
      INFO : mkdir ${jetty.base}/resources
      INFO : copy ${jetty.home}/modules/logging/jetty/resources/jetty-logging.properties to ${jetty.base}/resources/jetty-logging.properties
      INFO : mkdir ${jetty.base}/webapps
      INFO : Base directory was modified
  7. Compruebe el despliegue.

    Importante

    Ejecute los siguientes comandos en el directorio jetty-base.

    1. Despliegue la aplicación web de ejemplo de Jetty.

      • Si utiliza Jetty 11 o 10, reemplace demos por demo en el siguiente comando.

      • Si utiliza Jetty 9, ejecute el comando sudo mv $JETTY_HOME/demo-base/webapps/ROOT $JETTY_BASE/webapps para desplegar el ejemplo.

      Nota

      También puede cargar un paquete WAR local en el directorio $JETTY_BASE/webapps para realizar pruebas. Consulte Upload or download files.

      sudo java -jar $JETTY_HOME/start.jar --add-module=demos
    2. Inicie Jetty.

      Nota

      De forma predeterminada, Jetty escucha en el puerto 8080. Ejecute sudo netstat -tunlp | grep 8080 para comprobar si el puerto está en uso. De ser así, especifique un puerto diferente: nohup sudo java -jar $JETTY_HOME/start.jar jetty.http.port=8081 &.

      nohup sudo java -jar $JETTY_HOME/start.jar &
    3. En su navegador, introduzca http://<Public IP address>:8080. Si aparece la página de prueba, el despliegue se realizó correctamente.

      Nota
      • Si cambió el puerto de Jetty, reemplace 8080 por el nuevo número de puerto y permita el nuevo puerto en el security group. Consulte Add a security group rule.

      • Si cargó un paquete WAR local, acceda a http://<Public IP address>:8080/<Package name> para probarlo.

Windows

Importante

Esta sección aplica únicamente a Jetty 12, Jetty 11 y Jetty 10.

Este tema utiliza Jetty 12.0.16 como ejemplo. Si usa una versión o directorio diferente, reemplace el número de versión y la ruta en consecuencia.

  1. Inicie sesión en el servidor Windows. Consulte Use Workbench to log on to a Windows instance.

  2. Descargue Jetty.

    Las distintas versiones de Jetty admiten diferentes versiones de JDK. Revise el sitio web oficial de Jetty para seleccionar una versión compatible con su JDK y luego descargue el paquete de instalación.

    image

  3. Descomprima el paquete de Jetty.

    Descomprima el paquete en la ubicación que prefiera. Este tema utiliza C:\download como ejemplo.

    Importante

    Descomprima Jetty en una ruta sin espacios.

  4. Establezca la variable de entorno JETTY_HOME.

    1. Haga clic derecho en This PC y seleccione Properties.

    2. En la página About, desplácese hasta la parte inferior y haga clic en Advanced system settings.

    3. Haga clic en Environment Variables.

    4. En la sección System variables, haga clic en New. Establezca el nombre de la variable como JETTY_HOME y el valor como el directorio de instalación de Jetty, por ejemplo C:\download\jetty-home-12.0.16. Haga clic en OK.

    5. Haga clic en OK para guardar la configuración.

  5. Cree una carpeta jetty-base. Este tema utiliza C:\download como ejemplo.

  6. Inicialice la carpeta jetty-base.

    1. Vaya a la carpeta jetty-base, introduzca cmd en la barra de direcciones y presione Enter para abrir el símbolo del sistema.

    2. Inicialice la carpeta jetty-base. Esto crea el directorio start.d y otros directorios que contienen la configuración del servidor.

      java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploy
      C:\download\jetty-base>java -jar %JETTY_HOME%/start.jar --add-module=http,server,deploy
      INFO  : mkdir ${jetty.base}\start.d
      INFO  : server            initialized in ${jetty.base}\start.d\server.ini
      INFO  : logging-jetty     transitively enabled
      INFO  : http              initialized in ${jetty.base}\start.d\http.ini
      INFO  : resources         transitively enabled
      INFO  : threadpool        transitively enabled, ini template available with --add-modules=threadpool
      INFO  : logging/slf4j     transitive provider of logging/slf4j for logging-jetty
      INFO  : logging/slf4j     dynamic dependency of logging-jetty
      INFO  : bytebufferpool    transitively enabled, ini template available with --add-modules=bytebufferpool
      INFO  : deploy            initialized in ${jetty.base}\start.d\deploy.ini
      INFO  : mkdir ${jetty.base}\resources
      INFO  : copy ${jetty.home}\modules\logging\jetty\resources\jetty-logging.properties to ${jetty.base}\resources\jetty-logging.properties
      INFO  : mkdir ${jetty.base}\webapps
      INFO  : Base directory was modified
  7. Compruebe el despliegue.

    1. Despliegue la aplicación web de ejemplo de Jetty.

      Si utiliza Jetty 11 o 10, reemplace demos por demo en el siguiente comando.

      Nota

      También puede cargar un paquete WAR local en el directorio <jetty-base>/webapps para realizar pruebas. <jetty-base> es la ruta a la carpeta jetty-base<!--/@code--, por ejemplo</p>

      C:\download\jetty-base. Consulte Upload or download files.

      java -jar %JETTY_HOME%/start.jar --add-module=demos
    2. Inicie Jetty. No cierre la ventana del símbolo del sistema después de que Jetty se inicie.

      Nota

      De forma predeterminada, Jetty escucha en el puerto 8080. Ejecute netstat -ano | findstr :8080 para comprobar si el puerto está en uso. De ser así, especifique un puerto diferente: java -jar %JETTY_HOME%/start.jar jetty.http.port=8081.

      java -jar %JETTY_HOME%/start.jar
    3. En su navegador, introduzca http://<Public IP address>:8080. Si aparece la página de prueba, el despliegue se realizó correctamente.

      Nota
      • Si cambió el puerto de Jetty, reemplace 8080 por el nuevo número de puerto y permita el nuevo puerto en el security group. Consulte Add a security group rule.

      • Si cargó un paquete WAR local, acceda a http://<Public IP address>:8080/<Package name> para probarlo.

Siguientes pasos

  • Configure un sitio web en el servidor y asocie un nombre de dominio con la dirección IP pública de la instancia. Consulte Build a website.

    Si su aplicación requiere una base de datos, agregue la configuración de la base de datos a los archivos de configuración de su proyecto web, como un archivo Properties. Después del desarrollo, despliegue el paquete WAR en el directorio $JETTY_BASE/webapps e inicie Jetty para acceder a su aplicación. Para más detalles, visite el sitio web oficial de Jetty.

    Nota

    Si utiliza una versión diferente de Jetty, reemplace el número de versión en la URL.

    Para cargar archivos locales en una instancia ECS, consulte Upload or download files (Linux).

    Para usar una base de datos, utilice ApsaraDB RDS for MySQL o deploy a MySQL database en su instancia.

  • Utilice Server Load Balancer (SLB) para mejorar la disponibilidad y el rendimiento de su sitio web.

Preguntas frecuentes

Después del despliegue, no puedo acceder a http://<Public IP address>:8080 desde mi navegador local

Después de desplegar Jetty, es posible que no pueda acceder a http://<Public IP address>:8080 desde su navegador. Causas posibles:

  • Causa 1: El firewall o SELinux bloquea el acceso

    El firewall del sistema o SELinux podrían bloquear el acceso externo. Soluciones:

  • Causa 2: Puerto personalizado de Jetty

    Cambió el puerto de Jetty durante el inicio.

    Reemplace 8080 en http://<Public IP address>:8080 por el nuevo número de puerto y permita el nuevo puerto en security group.