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

Introdução: Por que o VPS é a solução ideal para sua aplicação Node.js?

\n

Você escreveu uma aplicação incrível em JavaScript (Node.js), testou localmente e agora quer que ela fique disponível na internet 24/7. Hospedagem compartilhada geralmente não é adequada para Node.js devido a limitações, e serviços em nuvem (Heroku, Railway) podem ser caros ou imprevisíveis em termos de desempenho. Um Servidor Virtual Privado (VPS) é o meio-termo ideal: controle total, alto desempenho e preço acessível.

\n

Neste guia passo a passo, vamos detalhar o processo de implantação de uma aplicação JavaScript (Node.js) em um VPS do zero. Você aprenderá como configurar o servidor, instalar o software necessário, executar a aplicação com segurança e disponibilizá-la através de um domínio. Todos os exemplos de código são funcionais e testados.

\n\n

1. Preparação do servidor: configuração inicial do VPS

\n

Para começar, você precisará alugar um VPS de qualquer provedor (DigitalOcean, Vultr, Timeweb, Selectel). Especificações mínimas: 1 vCPU, 1-2 GB de RAM, 20-30 GB de SSD. Sistema operacional — Ubuntu 22.04 LTS (a versão mais estável).

\n\n

1.1. Conexão ao servidor via SSH

\n

Após obter o endereço IP e a senha, conecte-se ao servidor através do terminal (Mac/Linux) ou PuTTY (Windows):

\n
ssh root@seu_IP_do_servidor
\n

Altere imediatamente a senha e crie um novo usuário (trabalhar como root é uma má prática):

\n
adduser deploy_user\nusermod -aG sudo deploy_user\nsu - deploy_user
\n\n

1.2. Atualização do sistema e instalação de pacotes básicos

\n
sudo apt update && sudo apt upgrade -y\nsudo apt install -y curl git ufw build-essential
\n

Configure o firewall básico UFW (deixe apenas SSH e as portas que usaremos):

\n
sudo ufw allow OpenSSH\nsudo ufw allow 80/tcp\nsudo ufw allow 443/tcp\nsudo ufw enable
\n\n

2. Instalação do Node.js e do gerenciador de processos PM2

\n

Para executar a aplicação JavaScript no servidor, precisaremos do Node.js. Use o gerenciador de versões oficial NodeSource para instalar a versão LTS mais recente:

\n\n

2.1. Instalação do Node.js (v20 LTS)

\n
curl -fsSL https://deb.nodesource.com/setup_20.x | sudo -E bash -\nsudo apt install -y nodejs
\n

Verifique a instalação:

\n
node -v   # v20.x.x\nnpm -v    # 10.x.x
\n\n

2.2. Instalação e configuração do PM2

\n

PM2 é um gerenciador de processos avançado para Node.js. Ele reinicia automaticamente a aplicação em caso de falha, gerencia logs e permite executar várias instâncias (clusterização).

\n
sudo npm install -g pm2
\n

Configure a inicialização automática do PM2 ao reiniciar o servidor:

\n
pm2 startup systemd\nsudo env PATH=$PATH:/usr/bin pm2 startup systemd -u deploy_user --hp /home/deploy_user
\n\n

3. Implantação da aplicação e execução via PM2

\n

Agora estamos prontos para transferir sua aplicação JavaScript para o servidor. Existem duas formas populares: via Git (recomendado) ou via SCP/FileZilla.

\n\n

3.1. Clonagem do repositório (Git)

\n
cd /home/deploy_user\ngit clone https://github.com/seu_usuario/seu_repositorio.git myapp\ncd myapp
\n

Instale as dependências e compile o projeto (se necessário):

\n
npm install\n# Se houver script de build: npm run build
\n\n

3.2. Criação do arquivo de configuração .env

\n

Nunca armazene segredos no código. Crie um arquivo .env na pasta do projeto:

\n
nano .env
\n

Exemplo de conteúdo:

\n
PORT=3000\nNODE_ENV=production\nDATABASE_URL=mongodb://localhost:27017/myapp\nJWT_SECRET=sua_chave_super_secreta
\n\n

3.3. Execução da aplicação via PM2

\n

Supondo que o ponto de entrada da sua aplicação seja app.js ou server.js. Execute:

\n
pm2 start app.js --name "myapp"
\n

Verifique o status:

\n
pm2 status\npm2 logs myapp                

Blogs

Book Recommendations