Todos os produtos
Search
Central de documentação

Elastic Compute Service:Deploy a Java web environment with Jetty

Última atualização: Aug 21, 2026

Instale e configure o Jetty em uma instância ECS para hospedar aplicações web Java em um contêiner de servlet leve.

Pré-requisitos

A instância ECS deve atender aos seguintes condições:

Procedimento

Escolha o procedimento conforme o sistema operacional da instância ECS.

Linux

Este tópico usa o Jetty 12.0.16 como exemplo. Se utilizar outra versão ou diretório, substitua o número da versão e o caminho adequadamente.

  1. Faça logon no servidor Linux. Consulte Log on to a Linux instance using Workbench.

  2. Baixe e descompacte o pacote de instalação do Jetty 12.

    Importante
    • Para instalar uma versão diferente ou caso o link de download esteja inválido, visite o site oficial do Jetty para obter o link correto e substitua a URL.

    • Versões diferentes do Jetty suportam versões distintas do JDK. Verifique o site oficial do Jetty para selecionar uma versão compatível com seu 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. Mova o diretório do Jetty.

    sudo mv jetty-home-12.0.16 /usr/local/jetty/
  4. Crie o diretório jetty-base.

    sudo mkdir /usr/local/jetty-base
  5. Defina as variáveis de ambiente.

    1. Edite o arquivo ~/.bashrc.

      sudo vim ~/.bashrc
    2. Pressione i para entrar no modo de edição e adicione o seguinte conteúdo ao arquivo.

      Nota

      Defina JETTY_HOME como o diretório real de instalação do Jetty e JETTY_BASE como o diretório jetty-base.

      export JETTY_HOME=/usr/local/jetty
      export JETTY_BASE=/usr/local/jetty-base
    3. Pressione Esc, insira :wq e pressione Enter para salvar e fechar o arquivo.

    4. Aplique as alterações.

      source ~/.bashrc
  6. Ative os módulos do Jetty e inicialize o diretório jetty-base.

    1. Acesse o diretório jetty-base.

      cd /usr/local/jetty-base
    2. Inicialize o diretório jetty-base. Essa ação cria o diretório $JETTY_BASE/start.d/ e outros diretórios que contêm a configuração do servidor.

      Nota
      • Para visualizar os módulos disponíveis, execute o comando java -jar $JETTY_HOME/start.jar --list-modules=*.

      • Se usar o Jetty 9, substitua --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. Verifique a implantação.

    Importante

    Execute os comandos a seguir no diretório jetty-base.

    1. Implante a aplicação web de exemplo do Jetty.

      • Se usar o Jetty 11 ou 10, substitua demos por demo no comando a seguir.

      • Se usar o Jetty 9, execute o comando sudo mv $JETTY_HOME/demo-base/webapps/ROOT $JETTY_BASE/webapps para implantar o exemplo.

      Nota

      Também é possível enviar um pacote WAR local para o diretório $JETTY_BASE/webapps para testes. Consulte Upload or download files.

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

      Nota

      Por padrão, o Jetty escuta na porta 8080. Execute sudo netstat -tunlp | grep 8080 para verificar se a porta está em uso. Nesse caso, especifique uma porta diferente: nohup sudo java -jar $JETTY_HOME/start.jar jetty.http.port=8081 &.

      nohup sudo java -jar $JETTY_HOME/start.jar &
    3. No navegador, insira http://<Public IP address>:8080. Se a página de teste aparecer, a implantação foi bem-sucedida.

      Nota
      • Se alterou a porta do Jetty, substitua 8080 pelo novo número de porta e libere essa porta no grupo de segurança. Consulte Add a security group rule.

      • Se enviou um pacote WAR local, acesse http://<Public IP address>:8080/<Package name> para testá-lo.

Windows

Importante

Esta seção aplica-se apenas ao Jetty 12, Jetty 11 e Jetty 10.

Este tópico usa o Jetty 12.0.16 como exemplo. Se utilizar outra versão ou diretório, substitua o número da versão e o caminho adequadamente.

  1. Faça logon no servidor Windows. Consulte Use Workbench to log on to a Windows instance.

  2. Baixe o Jetty.

    Versões diferentes do Jetty suportam versões distintas do JDK. Verifique o site oficial do Jetty para selecionar uma versão compatível com seu JDK e baixe o pacote de instalação.

    image

  3. Descompacte o pacote do Jetty.

    Descompacte o pacote no local de sua preferência. Este tópico usa C:\download como exemplo.

    Importante

    Descompacte o Jetty em um caminho sem espaços.

  4. Defina a variável de ambiente JETTY_HOME.

    1. Clique em This PC com o botão direito e selecione Properties.

    2. Na página About, role até a parte inferior e clique em Advanced system settings.

    3. Clique em Environment Variables.

    4. Na seção System variables, clique em New. Defina o nome da variável como JETTY_HOME e o valor como o diretório de instalação do Jetty, por exemplo, C:\download\jetty-home-12.0.16. Clique em OK.

    5. Clique em OK para salvar a configuração.

  5. Crie uma pasta jetty-base. Este tópico usa C:\download como exemplo.

  6. Inicialize a pasta jetty-base.

    1. Acesse a pasta jetty-base, insira cmd na barra de endereços e pressione Enter para abrir o prompt de comando.

    2. Inicialize a pasta jetty-base. Essa ação cria o diretório start.d e outros diretórios que contêm a configuração do 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. Verifique a implantação.

    1. Implante a aplicação web de exemplo do Jetty.

      Se usar o Jetty 11 ou 10, substitua demos por demo no comando a seguir.

      Nota

      Também é possível enviar um pacote WAR local para o diretório <jetty-base>/webapps para testes. <jetty-base> é o caminho para a pasta jetty-base, por exemplo, C:\download\jetty-base. Consulte Upload or download files.

      java -jar %JETTY_HOME%/start.jar --add-module=demos
    2. Inicie o Jetty. Não feche a janela do prompt de comando após iniciar o Jetty.

      Nota

      Por padrão, o Jetty escuta na porta 8080. Execute netstat -ano | findstr :8080 para verificar se a porta está em uso. Nesse caso, especifique uma porta diferente: java -jar %JETTY_HOME%/start.jar jetty.http.port=8081.

      java -jar %JETTY_HOME%/start.jar
    3. No navegador, insira http://<Public IP address>:8080. Se a página de teste aparecer, a implantação foi bem-sucedida.

      Nota
      • Se alterou a porta do Jetty, substitua 8080 pelo novo número de porta e libere essa porta no grupo de segurança. Consulte Add a security group rule.

      • Se enviou um pacote WAR local, acesse http://<Public IP address>:8080/<Package name> para testá-lo.

Próximas etapas

  • Configure um site no servidor e associe um nome de domínio ao endereço IP público da instância. Consulte Build a website.

    Se a aplicação precisar de banco de dados, adicione as configurações correspondentes aos arquivos de configuração do projeto web, como um arquivo Properties. Após o desenvolvimento, implante o pacote WAR no diretório $JETTY_BASE/webapps e inicie o Jetty para acessar a aplicação. Para mais detalhes, visite o site oficial do Jetty.

    Nota

    Se usar uma versão diferente do Jetty, substitua o número da versão na URL.

    Para enviar arquivos locais para uma instância ECS, consulte Upload or download files (Linux).

    Para usar um banco de dados, utilize o ApsaraDB RDS for MySQL ou deploy a MySQL database na instância.

  • Utilize o Server Load Balancer (SLB) para melhorar a disponibilidade e o desempenho do site.

Perguntas frequentes

Após a implantação, não consigo acessar http://<Public IP address>:8080 no navegador local

Após implantar o Jetty, talvez não seja possível acessar http://<Public IP address>:8080 pelo navegador. Causas possíveis:

  • Causa 1: Firewall ou SELinux bloqueia o acesso

    O firewall do sistema ou o SELinux pode estar bloqueando o acesso externo. Soluções:

  • Causa 2: Porta personalizada do Jetty

    A porta do Jetty foi alterada durante a inicialização.

    Substitua 8080 em http://<Public IP address>:8080 pelo novo número de porta e libere essa porta no security group.