Opções de implantação
Implantação automatizada (Terraform): Clique em execute agora para usar o Terraform e crie automaticamente um ambiente completo, incluindo uma instância ECS, um endereço IP público e as regras de grupo de segurança necessárias.
Implantação manual: Se você já tiver uma instância ECS ou preferir controlar o processo de implantação, siga estas etapas.
Pré-requisitos
Enable public network access: Atribua um endereço IP público fixo ou um Elastic IP (EIP) à instância.
-
Para Linux: Permita o tráfego de entrada via TCP nas portas 22 (SSH) e 8080 (Tomcat).
Para Windows: Permita o tráfego de entrada via TCP nas portas 3389 (RDP) e 8080 (Tomcat).
Manually deploy OpenJDK: Instale um Java Development Kit (JDK) no servidor.
Procedimento
Linux
Etapa 1: Baixe e instale o Tomcat
-
Conecte-se a uma instância ECS.
acesse ECS console - Instances. No canto superior esquerdo, selecione a região e o grupo de recursos da instância de destino.
acesse a página de detalhes da instância de destino. clique em Connect e selecione Workbench. Siga as instruções na tela para acessar o terminal.
-
Baixe e extraia o pacote de instalação do Tomcat.
Este exemplo usa o Tomcat v9.0.91. Para instale uma versão diferente, obtenha a URL de baixe no site oficial do Tomcat e substitua a URL no 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/ -
crie um link simbólico.
Essa abordagem permite atualizar o Tomcat apenas modifique o link simbólico, sem alterar o arquivo de configuração do service.
sudo ln -s /usr/local/apache-tomcat-9.0.91 /usr/local/tomcat
Etapa 2: configure o service do Tomcat
configure o Tomcat como um service do systemd para ative a inicialização automática.
-
Obtenha o caminho do JDK.
sudo readlink -f $(which java)Para o JDK 8: O caminho correto do JDK é o diretório pai do diretório
jre.Para o JDK 11 ou superior: O caminho retornado é o caminho correto do JDK.
-
crie o arquivo de service
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
Substitua
JDK_PATHpelo caminho do JDK obtido na etapa anterior. -
Inicie o service do Tomcat e ative a inicialização automática.
# 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
Etapa 3: verifique a implantação
-
verifique o status do service.
sudo systemctl status tomcatSe o comando retornar
active (running), o Tomcat foi iniciado com sucesso. -
verifique o acesso.
Na barra de endereços do seu navegador local, insira
http://<ECS instance public IP address>:8080. Se a página de boas-vindas do Tomcat aparecer, a implantação do ambiente web Java foi bem-sucedida.
Windows
Este exemplo mostra como implantar o Tomcat 9.0.121 em uma instância Windows Server 2022 de 64 bits.
Etapa 1: instale e configure o Tomcat
-
Conecte-se a uma instância ECS.
acesse ECS console - Instances. No canto superior esquerdo, selecione a região e o grupo de recursos da instância de destino.
acesse a página de detalhes da instância de destino. clique em Connect e selecione Workbench. defina o método de conexão como Terminal Connection, insira seu nome de usuário e senha e conecte-se ao terminal gráfico.
-
Baixe o Tomcat 9.0.121 e extraia o pacote.
Inicie o PowerShell e execute o seguinte comando para baixe o Tomcat 9.0.121 do repositório Alibaba Cloud Open Source Mirror.
# 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 -ForceRecomendamos extrair o pacote compactado para um caminho que não contenha caracteres chineses, por exemplo,
C:\Java\apache-tomcat-9.0.97, para evitar possíveis problemas de reconhecimento de caminho.Se precisar de uma versão diferente, acesse o site oficial do Tomcat, selecione a versão desejada e, em seguida, baixe e extraia o pacote de instalação.
-
configure as variáveis de ambiente.
clique em This PC com o botão direito e selecione .
Na área System variables, clique em New Resources, crie a variável de sistema
CATALINA_HOME, defina o valor da variável para o caminho de instalação do Tomcat e clique em OK.Em System Variables, localize a variável
Path, selecione-a e clique em Modify.Em Edit environment variable, clique em New Resources, adicione
%CATALINA_HOME%\bine clique em OK para salve a configuração.
Etapa 2: instale e inicie o service do Tomcat
Instale o Tomcat como um service do Windows, em vez de usar o startup.bat para execute temporária, garante sua operação estável em segundo plano e ative a inicialização automática.
-
Instale o service.
Abra o Prompt de Comando como administrador, acesse o diretório
bindo Tomcat e execute o comando de instalação.service.bat install Tomcat9Se o comando retornar a mensagem
The service 'Tomcat9' has been installed., a instalação foi bem-sucedida.Tomcat9é um nome de service personalizado, usado no gerencie do service. -
Inicie o service e configure a inicialização automática.
clique em
com o botão direito, clique em Run, insira services.msce pressione Enter para abrir o Gerenciador de services.Localize o service
Apache Tomcat 9.0 Tomcat9, clique em service com o botão direito, selecione Type, defina o Startup Type como Automatic e clique em Start.
Se você vir caracteres chineses ilegíveis nos logs, consulte Tomcat logs display garbled Chinese characters .
Etapa 3: verifique a implantação
Na barra de endereços do seu navegador, insira http://<ECS instance public IP address>:8080. Se a página de boas-vindas do Tomcat aparecer, a implantação do ambiente web Java foi bem-sucedida.
Próximas etapas
Carregue um projeto web
Siga as instruções em Use Workbench to upload or download files para carregar um aplicativo web (arquivo .war) no diretório raiz do site do Tomcat (que é webapps por padrão). O Tomcat detecta e implanta o arquivo WAR automaticamente.
Após a implantação, acesse o aplicativo em http://<public IP address>:8080/<project name>.
configure o Tomcat
modifique o arquivo de configuração
acesse a pasta
confno diretório de instalação do Tomcat e abra o arquivoserver.xml.-
modifique a configuração do Tomcat.
-
O Tomcat usa a porta
8080por padrão. Para alterá-la, modifique o valor do atributoport.Após alterar a porta, add a security group rule para permitir o tráfego de entrada na nova porta.
<!-- A "Connector" 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 --> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" maxParameterCount="1000" /> -
O diretório raiz padrão do site do Tomcat é
webapps. Para alterá-lo, modifique o valor do atributoappBase.Na seguinte configuração <Host> do server.xml, o atributo
appBase="webapps"especifica o diretório de implantação do aplicativo:</Realm> <Host name="localhost" appBase="webapps" unpackWARs="true" autoDeploy="true"> <!-- SingleSignOn valve, share authentication between web applications Documentation at: /docs/config/valve.html --> <!-- <Valve className="org.apache.catalina.authenticator.SingleSignOn" /> -->
-
defina os parâmetros de memória da JVM para o Tomcat
Linux
-
crie um arquivo
setenv.shpara gerencie os parâmetros da JVM de forma centralizada.Ajuste os tamanhos inicial e máximo do heap da JVM com base nas especificações da sua instância ECS e na carga do aplicativo.
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 -
Adicione permissões de execução ao arquivo.
sudo chmod +x /usr/local/tomcat/bin/setenv.sh Reinicie o Tomcat para que a configuração tenha efeito.
Windows
acesse a pasta
binno diretório de instalação do Tomcat e abra o arquivocatalina.bat.-
Adicione ou modifique os parâmetros da JVM.
Perto do início do arquivo (geralmente após
setlocale antes decall "%CATALINA_HOME%\bin\setenv.bat"), adicione ou modifiqueJAVA_OPTS. Ajuste a memória heap inicial e máxima da JVM com base nas especificações da instância ECS e na carga do aplicativo.# Example: For an ECS instance with 2 GB of memory, allocate 512 MB set "JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx512m"Se
JAVA_OPTSjá existir, adicione os parâmetros ao final da linha (certifique-se de deixar um espaço entre os parâmetros). Reinicie o Tomcat para que a configuração tenha efeito.
Recomendações para ambiente de produção
Para ambientes de produção, execute as seguintes etapas após a implantação para reduzir os riscos de segurança.
-
exclua os aplicativos padrão
Para reduzir a superfície de ataque, exclua todos os aplicativos de exemplo padrão do diretório
webapps, comodocs,examples,managerehost-manager.Linux:
sudo rm -rf /usr/local/tomcat/webapps/*Windows: Use o File Explorer para exclua manualmente todos os subdiretórios no diretório
CATALINA_HOME\webapps.
-
configure o HTTPS
Use HTTPS em produção. Install an SSL certificate on the Tomcat server (Linux) e utilize o Nginx ou o Server Load Balancer (SLB) como proxy reverso para processar solicitações HTTPS.
Perguntas frequentes
O navegador atinge o tempo limite ou a página está inacessível
verifique o grupo de segurança: Certifique-se de que as regras de entrada do grupo de segurança da instância ECS permitem tráfego na porta
8080.verifique o firewall do sistema operacional: confirme se o firewall do sistema operacional (como
firewalldouWindows Defender Firewall) está desativado ou configure para permitir tráfego na porta8080.-
verifique a porta de escuta: Valide se o Tomcat está escutando na porta 8080.
Linux:
ss -lntp | grep 8080Windows:
netstat -ano | findstr ":8080"
Falha ao iniciar o Tomcat
verifique os logs: Os principais logs do Tomcat ficam na pasta
logsdo diretório de instalação. verifique os arquivoscatalina.out(Linux) oucatalina.<date>.log(Windows) elocalhost.<date>.log. Se os logs exibirem o erroAddress already in use, a porta está ocupada por outro programa. Para mais informações, consulte Troubleshoot port inaccessibility when an ECS instance can be pinged.Erro de caminho do JDK: verifique se a variável de ambiente
JAVA_HOMEestá configurada corretamente.
Os logs do Tomcat exibem caracteres chineses ilegíveis
Esse problema geralmente ocorre devido à incompatibilidade entre a codificação padrão do Prompt de Comando do Windows (CMD), que é GBK, e a codificação de saída de log do Tomcat, que normalmente é UTF-8.
Abra a pasta
confno diretório de instalação do Tomcat, localize e edite o arquivologging.properties.Altere todas as codificações
UTF-8padrão do arquivo paraGBK.salve o arquivo e reinicie o Tomcat. verifique se os caracteres chineses nos logs aparecem corretamente.