Implantação de aplicação JavaScript 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

Introdução: Por que fazer o deploy de uma aplicação JavaScript em uma VPS?

Desenvolver uma aplicação web moderna em JavaScript (Node.js) é apenas metade do trabalho. A segunda parte, igualmente importante, é o deploy, ou seja, a implantação do seu projeto em um servidor real acessível na internet. O uso de um Servidor Privado Virtual (VPS) oferece controle total sobre o ambiente, ao contrário da hospedagem compartilhada. Você pode configurar o servidor conforme suas necessidades, instalar quaisquer dependências e garantir alta performance.

Neste guia, vamos detalhar passo a passo o processo de deploy de uma aplicação típica JavaScript (Node.js) em uma VPS. Abordaremos todas as etapas: desde a configuração inicial do servidor até a execução da aplicação em modo de produção usando o gerenciador de processos PM2 e o servidor proxy reverso Nginx. O artigo é voltado para desenvolvedores que já possuem familiaridade com os fundamentos do Node.js e da linha de comando Linux.



1. Preparação da VPS e configuração inicial

O primeiro passo é alugar uma VPS de qualquer provedor (DigitalOcean, Linode, Vultr ou análogos russos). Plano mínimo recomendado: 1 vCPU, 1-2 GB de RAM. Sistema operacional — Ubuntu 22.04 LTS (ou mais recente).



1.1. Conexão ao servidor via SSH

Após obter o endereço IP e a senha de root, conecte-se ao servidor a partir do seu terminal:

ssh root@seu_IP_do_servidor

Se você estiver usando uma chave SSH (recomendado), especifique o caminho para a chave privada:

ssh -i ~/.ssh/id_rsa root@seu_IP_do_servidor


1.2. Criação de usuário e segurança básica

Nunca trabalhe como root permanentemente. Crie um novo usuário e conceda a ele privilégios sudo:

adduser myuserusermod -aG sudo myuser

Em seguida, configure a chave SSH para o novo usuário (copie a chave pública da sua máquina local) e desabilite o login por senha no arquivo /etc/ssh/sshd_config:

PasswordAuthentication no

Reinicie o serviço SSH: sudo systemctl restart sshd.



1.3. Instalação do software necessário

Atualize o gerenciador de pacotes e instale o Node.js (recomendamos a versão LTS via NodeSource), Git e Nginx:

sudo apt update && sudo apt upgrade -ycurl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -sudo apt install -y nodejs git nginx

Verifique as versões: node -v e npm -v.



2. Clonagem do repositório e instalação de dependências

Agora que o servidor está pronto, vamos transferir o código da sua aplicação para ele.



2.1. Clonagem do projeto

Navegue até o diretório home do usuário e clone o repositório do GitHub (ou de outro serviço de hospedagem Git):

cd /home/myusergit clone https://github.com/seu_login/seu_repositorio.git myappcd myapp


2.2. Instalação de dependências e teste de execução

Instale todos os pacotes npm listados no package.json:

npm install

Se o projeto usar variáveis de ambiente (por exemplo, para banco de dados ou chaves de API), crie um arquivo .env e preencha-o:

nano .env

Exemplo de conteúdo:

PORT=3000DATABASE_URL=mongodb://localhost:27017/mydbNODE_ENV=production

Execute a aplicação manualmente para garantir que ela funciona:

node app.js

Verifique a acessibilidade através de curl http://localhost:3000 ou abra no navegador http://seu_IP:3000 (após liberar a porta no firewall). Se tudo funcionar, pare o processo (Ctrl+C).



3. Configuração do gerenciador de processos PM2

A aplicação iniciada com node app.js será interrompida assim que você fechar a sessão SSH. Para operação contínua, utiliza-se o PM2 — um gerenciador de processos para Node.js que reinicia automaticamente a aplicação em caso de falha e ger

Blogs

Book Recommendations