Implantação de aplicação Kotlin em VPS: guia passo a passo

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 Kotlin em VPS: guia completo passo a passo



Desenvolver em Kotlin é apenas metade do trabalho. Mais cedo ou mais tarde surge a pergunta: como transferir a aplicação do ambiente local para um servidor real? Neste artigo, vamos detalhar a implantação de uma aplicação Kotlin (usando Spring Boot como exemplo) em uma VPS. Você aprenderá como preparar o servidor, compilar o arquivo JAR, configurar a inicialização automática e garantir uma conexão segura via HTTPS. O guia é adequado tanto para iniciantes quanto para desenvolvedores que desejam sistematizar seus conhecimentos.



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



Antes de carregar o código, é preciso preparar o servidor. Recomendamos usar Ubuntu 22.04 LTS ou superior. Conecte-se ao servidor via SSH:



ssh root@seu-ip-do-servidor


Atualize a base de pacotes e instale o Java (Kotlin compila para bytecode JVM, portanto precisamos do JDK 17 ou 21):



sudo apt update && sudo apt upgrade -ysudo apt install openjdk-17-jdk -yjava -version


Certifique-se de que a versão do Java corresponde à sua compilação. Instale também o Git (se usar repositório) e utilitários para trabalhar com arquivos:



sudo apt install git unzip curl -y


Para trabalhar com o projeto Kotlin no servidor, não é necessário instalar o compilador Kotlin em si — faremos a compilação localmente ou via CI/CD. No entanto, se você planeja compilar no servidor, adicione o SDKMAN! e o Kotlin:



curl -s "https://get.sdkman.io" | bashsource "$HOME/.sdkman/bin/sdkman-init.sh"sdk install kotlin


Importante: Nesta etapa, configure também o firewall (UFW) para segurança básica:



sudo ufw allow OpenSSHsudo ufw allow 8080/tcp  # porta da aplicaçãosudo ufw enable


2. Compilação da aplicação Kotlin e transferência para o servidor



Vamos considerar um projeto típico Spring Boot com Kotlin. Execute a compilação do arquivo JAR localmente (ou no servidor, se clonou o repositório). Na raiz do projeto, execute:



./gradlew clean bootJar


Ou, se usar Maven:



mvn clean package


Após a compilação, na pasta build/libs/ (Gradle) ou target/ (Maven), aparecerá um arquivo como app-0.0.1-SNAPSHOT.jar. Copie-o para o servidor usando SCP:



scp build/libs/app-0.0.1-SNAPSHOT.jar root@seu-ip:/opt/myapp/app.jar


Crie um diretório para a aplicação no servidor e mova o JAR:



sudo mkdir -p /opt/myappsudo mv app.jar /opt/myapp/


Verifique se o JAR inicia manualmente:



cd /opt/myappjava -jar app.jar --server.port=8080


Se a aplicação iniciou e responde na porta 8080 — está tudo certo. Pare-a (Ctrl+C) e prossiga para a configuração de inicialização permanente.



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



Para que a aplicação inicie automaticamente ao reiniciar o servidor e se recupere após falhas, vamos criar um serviço systemd. Crie o arquivo:



sudo nano /etc/systemd/system/kotlin-app.service


Insira o seguinte modelo (substitua os parâmetros conforme sua aplicação):



[Unit]Description=Kotlin Spring Boot ApplicationAfter=network.target

[Service]Type=simpleUser=rootWorkingDirectory=/opt/myappExecStart=/usr/bin/java -jar /opt/myapp/app.jar --server.port=8080Restart=on-failureRestartSec=10StandardOutput=journalStandardError=journal

[Install]WantedBy=multi-user.target


Recarregue a configuração do systemd e inicie o serviço:



sudo systemctl daemon-reloadsudo systemctl start kotlin-appsudo systemctl status kotlin-app


Se o status for active (running) — está funcionando. Adicione o serviço à inicialização automática:



sudo systemctl enable kotlin-app

Blogs

Book Recommendations