Todos los productos
Search
Centro de documentos

Elastic Compute Service:Deploy a Java web environment (Tomcat)

Última actualización: Sep 19, 2026

Opciones de despliegue

  • Despliegue automatizado (Terraform): Haga clic en Run Now para usar Terraform y crear automáticamente un entorno completo. Este incluye una instancia ECS, una dirección IP pública y las reglas de security group necesarias.

  • Despliegue manual: Si ya cuenta con una instancia ECS o prefiere controlar el proceso de despliegue, siga estos pasos.

Requisitos previos

  1. Enable public network access: Asigne una dirección IP pública fija o una IP elástica (EIP) a la instancia.

  2. Add security group rules:

    • Para Linux: Permita el tráfico entrante por TCP en los puertos 22 (SSH) y 8080 (Tomcat).

    • Para Windows: Permita el tráfico entrante por TCP en los puertos 3389 (RDP) y 8080 (Tomcat).

  3. Manually deploy OpenJDK: Instale un Java Development Kit (JDK) en el servidor.

Procedimiento

Linux

Paso 1: Descargue e instale Tomcat

  1. Inicie sesión en una instancia ECS.

    1. Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.

    2. Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Siga las indicaciones en pantalla para acceder a la terminal.

  2. Descargue y extraiga el paquete de instalación de Tomcat.

    Este ejemplo utiliza Tomcat v9.0.91. Para instalar una versión distinta, obtenga la URL de descarga desde el sitio web oficial de Tomcat y reemplace la URL en el comando.

    # Download the Tomcat installation package
    sudo wget https://archive.apache.org/dist/tomcat/tomcat-9/v9.0.91/bin/apache-tomcat-9.0.91.tar.gz  --no-check-certificate 
    # Extract the package to the /usr/local/ directory
    sudo tar -zxvf apache-tomcat-9.0.91.tar.gz -C /usr/local/
  3. Cree un enlace simbólico.

    Este enfoque le permite actualizar Tomcat únicamente modificando el enlace simbólico, sin alterar el archivo de configuración del servicio.
    sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat

Paso 2: Configure el servicio de Tomcat

Configure Tomcat como un servicio de systemd para habilitar el inicio automático.

  1. Obtenga la ruta del JDK.

    sudo readlink -f $(which java)
    • Para JDK 8: La ruta correcta del JDK es el directorio padre del directorio jre.

    • Para JDK 11 o posterior: La ruta devuelta es la ruta correcta del JDK.

  2. Cree el archivo de servicio tomcat.service.

    sudo tee /etc/systemd/system/tomcat.service > /dev/null <<'EOF' [Unit] Description=Apache Tomcat Web Application Container After=network.target [Service] Type=forking Environment="JAVA_HOME=JDK_PATH" Environment="CATALINA_PID=/usr/local/tomcat/temp/tomcat.pid" Environment="CATALINA_HOME=/usr/local/tomcat" Environment="CATALINA_BASE=/usr/local/tomcat" ExecStart=/usr/local/tomcat/bin/startup.sh ExecStop=/usr/local/tomcat/bin/shutdown.sh Restart=on-failure [Install] WantedBy=multi-user.target EOF

    Reemplace JDK_PATH con la ruta del JDK que obtuvo en el paso anterior.

  3. Inicie el servicio de Tomcat y habilite su arranque durante el inicio del sistema.

    # Reload the systemd configuration for the new service file to take effect
    sudo systemctl daemon-reload
    # Start the Tomcat service
    sudo systemctl start tomcat
    # Enable the Tomcat service to start on boot
    sudo systemctl enable tomcat

Paso 3: Compruebe el despliegue

  1. Compruebe el estado del servicio.

    sudo systemctl status tomcat

    Si se devuelve active (running), Tomcat se inició correctamente.

  2. Compruebe el acceso.

    En la barra de direcciones de su navegador local, introduzca http://<ECS instance public IP address>:8080. Si se muestra la página de bienvenida de Tomcat, el entorno web Java se desplegó correctamente.

Windows

Este ejemplo muestra cómo desplegar Tomcat 9.0.121 en una instancia de Windows Server 2022 de 64 bits.

Paso 1: Instale y configure Tomcat

  1. Inicie sesión en una instancia ECS.

    1. Vaya a ECS console - Instances. En la esquina superior izquierda, seleccione la región y el resource group de la instancia de destino.

    2. Vaya a la página de detalles de la instancia de destino. Haga clic en Connect y seleccione Workbench. Establezca el método de conexión en Terminal Connection, introduzca su nombre de usuario y contraseña, e inicie sesión en la terminal gráfica.

  2. Descargue Tomcat 9.0.121 y extraiga el paquete.

    Puede iniciar PowerShell y ejecutar el siguiente comando para obtener Tomcat 9.0.121 desde el repositorio de espejos de código abierto de Alibaba Cloud.

    # 1. Modify the paths below as needed
    $Url = "https://mirrors.aliyun.com/apache/tomcat/tomcat-9/v9.0.121/bin/apache-tomcat-9.0.121-windows-x64.zip"
    $Zip = "C:\Downloads\tomcat.zip"       # Download Path
    $Dest = "C:\Applications\tomcat"       # Extract Directory
    
    # 2. Download and extract the package
    Invoke-WebRequest $Url -OutFile $Zip
    Expand-Archive $Zip -DestinationPath $Dest -Force
    Se recomienda extraer el paquete comprimido en una ruta que no contenga caracteres chinos, por ejemplo, C:\Java\apache-tomcat-9.0.97 , para evitar posibles problemas de reconocimiento de rutas.

    Si necesita una versión distinta, visite el sitio web oficial de Tomcat, seleccione la versión requerida, y luego descargue y extraiga el paquete de instalación.

  3. Configure las variables de entorno.

    1. Haga clic con el botón derecho en This PC y seleccione Type > Advanced system settings > Environment Variable.

    2. En el área System variables, haga clic en New Resources, cree la variable de sistema CATALINA_HOME, establezca el valor de la variable con la ruta de instalación de Tomcat y luego haga clic en OK.

    3. En System Variables, busque la variable Path, selecciónela y haga clic en Modify.

    4. En Edit environment variable, haga clic en New Resources, agregue %CATALINA_HOME%\bin y haga clic en OK para guardar la configuración.

Paso 2: Instale e inicie el servicio de Tomcat

Instalar Tomcat como un servicio de Windows, en lugar de usar startup.bat para ejecutarlo temporalmente, permite que funcione de manera estable en segundo plano y habilita el inicio automático.

  1. Instale el servicio.

    Abra el símbolo del sistema como administrador, vaya al directorio bin de Tomcat y ejecute el comando de instalación.

    service.bat install Tomcat9

    Si se devuelve el mensaje The service 'Tomcat9' has been installed., la instalación se completó correctamente.

    Tomcat9 es un nombre de servicio personalizado que se utilizará al gestionar el servicio.
  2. Inicie el servicio y configúrelo para que arranque automáticamente.

    1. Haga clic con el botón derecho en Start, luego haga clic en Run, introduzca services.msc y presione Entrar para abrir el Administrador de servicios.

    2. Localice el servicio Apache Tomcat 9.0 Tomcat9, haga clic con el botón derecho sobre él, seleccione Type, establezca Startup Type en Automatic y luego haga clic en Start.

    Si observa caracteres chinos ilegibles en los registros, consulte Tomcat logs display garbled Chinese characters .

Paso 3: Compruebe el despliegue

En la barra de direcciones de su navegador, introduzca http://<ECS instance public IP address>:8080. Si se muestra la página de bienvenida de Tomcat, el entorno web Java se desplegó correctamente.

Siguientes pasos

Carga de un proyecto web

Siga las instrucciones de Use Workbench to upload or download files para cargar una aplicación web (archivo .war) al directorio raíz del sitio web de Tomcat (que de forma predeterminada es webapps). Tomcat detectará y desplegará automáticamente el archivo WAR.

Una vez finalizado el despliegue, podrá acceder a la aplicación mediante http://<public IP address>:8080/<project name>.

Configuración de Tomcat

Modificación del archivo de configuración

  1. Vaya a la carpeta conf en el directorio de instalación de Tomcat y abra el archivo server.xml.

  2. Modifique la configuración de Tomcat.

    • Tomcat usa el puerto 8080 de forma predeterminada. Puede cambiarlo si modifica el valor del atributo port.

      Después de cambiar el puerto, debe add a security group rule para permitir el tráfico entrante en el nuevo puerto.
      &lt;!-- A &quot;Connector&quot; represents an endpoint by which request
           and responses are returned. Documentation at :
           Java HTTP Connector: /docs/config/http.html
           Java AJP  Connector: /docs/config/ajp.html
           APR (HTTP/AJP) Connector: /docs/apr.html
           Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
      --&gt;
      <Connector port="8080" protocol="HTTP/1.1"
                 connectionTimeout="20000"
                 redirectPort="8443"
                 maxParameterCount="1000"
                 />
    • El directorio raíz predeterminado del sitio web de Tomcat es webapps. Para cambiar este directorio, modifique el valor del atributo appBase.

      En la siguiente configuración <Host> de server.xml, el atributo appBase="webapps" especifica el directorio de despliegue de la aplicación:

      </Realm>
      <Host name="localhost" appBase="webapps"
            unpackWARs="true" autoDeploy="true">
        &lt;!-- SingleSignOn valve, share authentication between web applications
             Documentation at: /docs/config/valve.html --&gt;
        &lt;!--
        &lt;Valve className=&quot;org.apache.catalina.authenticator.SingleSignOn&quot; /&gt;
        -->

Establecimiento de parámetros de memoria JVM para Tomcat

Linux

  1. Cree un archivo setenv.sh. El archivo setenv.sh le permite gestionar centralizadamente los parámetros de la JVM.

    Ajuste los tamaños inicial y máximo del montón (heap) de la JVM según las especificaciones de su instancia ECS y la carga de la aplicación.

    sudo tee /usr/local/tomcat/bin/setenv.sh > /dev/null <<'EOF'
    #!/bin/bash
    # Example: For an ECS instance with 2 GB of memory, allocate 512 MB
    JAVA_OPTS="-server -Xms512m -Xmx512m"
    export JAVA_OPTS
    EOF
  2. Agregue permisos de ejecución al archivo.

    sudo chmod +x /usr/local/tomcat/bin/setenv.sh
  3. Reinicie Tomcat para que la configuración surta efecto.

Windows

  1. Vaya a la carpeta bin en el directorio de instalación de Tomcat y abra el archivo catalina.bat.

  2. Agregue o modifique los parámetros de la JVM.

    Cerca del inicio del archivo (generalmente después de setlocal y antes de call "%CATALINA_HOME%\bin\setenv.bat"), agregue o modifique JAVA_OPTS. Ajuste la memoria inicial y máxima del montón de la JVM según las especificaciones de la instancia ECS y la carga de la aplicación.

    # Example: For an ECS instance with 2 GB of memory, allocate 512 MB
    set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m"
    Si JAVA_OPTS ya existe, añádale los parámetros (tenga en cuenta que se requiere un espacio entre ellos).
  3. Reinicie Tomcat para que la configuración surta efecto.

Recomendaciones para entornos de producción

En entornos de producción, aplique las siguientes medidas después del despliegue para reducir los riesgos de seguridad.

  1. Elimine las aplicaciones predeterminadas

    Para reducir la superficie de ataque potencial, se recomienda eliminar todas las aplicaciones de ejemplo predeterminadas dentro del directorio webapps, como docs, examples, manager y host-manager.

    • Linux: sudo rm -rf /usr/local/tomcat/webapps/*

    • Windows: Use el Explorador de archivos para eliminar manualmente todos los subdirectorios dentro del directorio CATALINA_HOME\webapps.

  2. Configure HTTPS

    Utilice HTTPS en producción. Install an SSL certificate on the Tomcat server (Linux), y use Nginx o Server Load Balancer (SLB) como proxy inverso para procesar las solicitudes HTTPS.

Preguntas frecuentes

El navegador agota el tiempo de espera o no se puede establecer conexión

  • Compruebe el security group: Verifique si las reglas de entrada del security group de la instancia ECS permiten el puerto 8080.

  • Compruebe el firewall del sistema operativo: Verifique si el firewall del sistema operativo (como firewalld o Windows Defender Firewall) está deshabilitado o si se configuró para permitir el tráfico en el puerto 8080.

  • Compruebe el listener del puerto: Confirme que Tomcat esté escuchando en el puerto 8080.

    • Linux: ss -lntp | grep 8080

    • Windows: netstat -ano | findstr ":8080"

Tomcat no inicia

  1. Revise los registros: Los registros principales de Tomcat se ubican en la carpeta logs de su directorio de instalación. Revise los archivos catalina.out (Linux) o catalina.<date>.log (Windows) y localhost.<date>.log. Si los registros contienen el error Address already in use, significa que otro programa ocupa el puerto. Para más información, consulte Troubleshoot port inaccessibility when an ECS instance can be pinged.

  2. Error en la ruta del JDK: Compruebe si la variable de entorno JAVA_HOME está configurada correctamente.

Los registros de Tomcat muestran caracteres chinos ilegibles

Este problema suele ocurrir por una discrepancia entre la codificación predeterminada del símbolo del sistema de Windows (CMD), que es GBK, y la codificación de salida de los registros de Tomcat, que generalmente es UTF-8.

  1. Abra la carpeta conf en el directorio de instalación de Tomcat, busque y edite el archivo logging.properties.

  2. Cambie todas las codificaciones UTF-8 predeterminadas del archivo a GBK.

  3. Guarde el archivo y reinicie Tomcat. Compruebe que los caracteres chinos en los registros se muestren correctamente.