Implantação de aplicação TypeScript 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 é o lugar ideal para o seu projeto TypeScript?



Você escreveu uma aplicação incrível em TypeScript — seja um servidor Express, um site Next.js ou uma API NestJS. Localmente tudo funciona perfeitamente, mas chegou a hora de mostrar o projeto ao mundo. Muitos iniciantes temem a etapa de implantação, considerando-a complicada e confusa. Na verdade, entender esse processo uma vez — e você conseguirá implantar qualquer projeto TypeScript em 15-20 minutos.



Neste guia, abordaremos o ciclo completo de implantação de uma aplicação TypeScript em VPS (Virtual Private Server) — desde a preparação do servidor até a configuração do domínio e HTTPS. O artigo é focado no ecossistema Node.js, já que o TypeScript é mais frequentemente usado com ele.



O que você aprenderá:

  • Como preparar o VPS para funcionar (Ubuntu 22.04)
  • Como configurar Node.js, TypeScript e o gerenciador de processos PM2
  • Como compilar TypeScript em modo de produção
  • Como configurar o Nginx como proxy reverso
  • Como conectar gratuitamente um certificado SSL via Let's Encrypt


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



1.1 Configuração inicial do servidor



Suponha que você alugou um VPS (por exemplo, na DigitalOcean, Timeweb ou Reg.ru) com Ubuntu 22.04. Primeiramente, conecte-se ao servidor via SSH:



ssh root@seu-ip-do-servidor


Crie um usuário separado (mais seguro do que trabalhar como root):



adduser deployerusermod -aG sudo deployersu - deployer


1.2 Instalação do Node.js e npm



Para a aplicação TypeScript, precisaremos do Node.js versão 18 ou 20 (LTS). Use o PPA oficial do NodeSource:



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


Verifique a instalação:



node -vnpm -v


1.3 Instalação global do TypeScript (opcional)



Embora o TypeScript geralmente seja uma dependência local do projeto, para verificar rapidamente a compilação você pode instalá-lo globalmente:



sudo npm install -g typescript


1.4 Clonagem do seu projeto



Copie o repositório do GitHub/GitLab para o servidor:



git clone https://github.com/seu-usuario/seu-projeto.gitcd seu-projeto


Instale as dependências:



npm install


2. Compilação do TypeScript e configuração do PM2



2.1 Compilação do TypeScript para JavaScript



No seu package.json deve haver um script de build. Geralmente, ele se parece com isso:



{  "scripts": {    "build": "tsc",    "start": "node dist/index.js",    "dev": "ts-node-dev src/index.ts"  }}


Execute o build:



npm run build


Após a execução, o código JavaScript compilado aparecerá na pasta dist. Se você estiver usando Next.js, o comando de build será npm run build (o Next.js compila o TypeScript por conta própria).



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



O PM2 é um gerenciador de processos que mantém sua aplicação em execução, reinicia-a em caso de falha e gerencia logs. Instale:



sudo npm install -g pm2


Inicie a aplicação via PM2 (especifique o caminho para o arquivo compilado):



pm2 start dist/index.js --name "my-typescript-app"


Se você estiver usando Next.js, o comando será diferente:



pm2 start npm --name "next-app" -- start


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



pm2 startup systemdpm2 save


Agora sua aplicação está rodando em uma porta local (por exemplo, 3000). Vamos torná-la acessível através de um domínio.



3. Configuração do Nginx como proxy reverso



3.1 Instalação do Nginx




                
                

Blogs

Book Recommendations