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-servidorCrie um usuário separado (mais seguro do que trabalhar como root):
adduser deployerusermod -aG sudo deployersu - deployer1.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 nodejsVerifique a instalação:
node -vnpm -v1.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 typescript1.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-projetoInstale as dependências:
npm install2. 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 buildApó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 pm2Inicie 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" -- startConfigure a inicialização automática do PM2 ao reiniciar o servidor:
pm2 startup systemdpm2 saveAgora 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
Leia também
Expressões Regulares em TypeScript: guia completo para iniciantes
Perfilamento de código Kotlin: encontrando gargalos
TDD em C++: Desenvolvimento Orientado a Testes para Gênios Preguiçosos
WebSocket em JavaScript: criando aplicações em tempo real no Node.js
Como corrigir dyld: Library not loaded: libicui18n.62.dylib no Mac após instalar Node via Brew