Implantação de aplicação Java em VPS: guia passo a passo do início ao fim

Treinador Online de Python para Iniciantes

Aprenda Python facilmente sem sobrecarga teórica. Resolva tarefas práticas com verificação automática e escreva código diretamente no navegador.

Start Course

Implantação de aplicação Java em VPS: guia passo a passo do início ao fim



Desenvolver uma aplicação Java é apenas metade do trabalho. A segunda parte, igualmente importante, é sua implantação no servidor. Muitos desenvolvedores enfrentam dificuldades ao transferir o código da máquina local para um VPS remoto. Neste artigo, abordaremos o processo completo de implantação de uma aplicação Java (usando Spring Boot como exemplo) em um servidor virtual privado (VPS) com sistema operacional Ubuntu 22.04. Você aprenderá como configurar o ambiente, compilar o projeto, executá-lo como um serviço e garantir acesso seguro via Nginx e SSL.



1. Preparação do VPS e instalação do software necessário



Antes de carregar o código, é necessário preparar o servidor. Usaremos Ubuntu 22.04 LTS. Conecte-se ao servidor via SSH:



ssh root@seu-endereco-ip


Atualize o gerenciador de pacotes e instale utilitários básicos:



apt update && apt upgrade -yapt install curl git -y


Agora instalaremos o OpenJDK 17 (versão recomendada para a maioria dos projetos modernos):



apt install openjdk-17-jdk -y


Verifique a instalação:



java -version


Você deve ver algo como:



openjdk version "17.0.9" 2023-10-17


Em seguida, instalaremos o Maven para compilar o projeto (se você usa Gradle, substitua os comandos adequadamente):



apt install maven -ymvn -version


Com isso, a preparação do ambiente básico está concluída.



2. Compilação e upload da aplicação Java para o servidor



Compile sua aplicação Java localmente. Navegue até a pasta raiz do projeto e execute:



mvn clean package -DskipTests


Após a compilação bem-sucedida, um arquivo JAR aparecerá na pasta target (por exemplo, myapp-0.0.1-SNAPSHOT.jar). Agora é necessário fazer o upload para o servidor. Use o scp (executado a partir da sua máquina local):



scp target/myapp-0.0.1-SNAPSHOT.jar root@seu-endereco-ip:/opt/myapp/


No servidor, crie um diretório para a aplicação e mova o arquivo:



mkdir -p /opt/myappmv myapp-0.0.1-SNAPSHOT.jar /opt/myapp/myapp.jar


Verifique se o arquivo JAR está no local e execute-o manualmente para teste:



cd /opt/myappjava -jar myapp.jar


Se a aplicação iniciar sem erros, vá para a próxima etapa.



3. Configuração do systemd para inicialização automática



Para que a aplicação inicie automaticamente na inicialização do sistema e reinicie em caso de falha, criaremos um serviço systemd.



Crie o arquivo de serviço:



nano /etc/systemd/system/myapp.service


Insira o seguinte conteúdo (substitua youruser pelo nome do usuário sob o qual a aplicação será executada, ou deixe root):



[Unit]Description=My Java Spring Boot ApplicationAfter=network.target

[Service]User=rootWorkingDirectory=/opt/myappExecStart=/usr/bin/java -jar /opt/myapp/myapp.jarSuccessExitStatus=143Restart=alwaysRestartSec=10

[Install]WantedBy=multi-user.target


Explicação dos parâmetros:

  • After=network.target — o serviço inicia após a rede estar ativa.
  • Restart=always — reinicialização automática em caso de falha.
  • RestartSec=10 — pausa de 10 segundos antes da reinicialização.
  • SuccessExitStatus=143 — tratamento correto do sinal de parada.


Agora ative e inicie o serviço:



systemctl daemon-reloadsystemctl enable myappsystemctl start myapp


Verifique o status:



systemctl status myapp


Você deve ver Active: active (running). Agora sua aplicação será iniciada

Blogs

Book Recommendations