O que vem instalado no servidor Node.js?
- Node.js 26 LTS e npm do repositório NodeSource
- PM2 7, que mantém a aplicação em execução e a repõe depois de um reinício
- Caddy como proxy inverso: obtém o seu próprio certificado HTTPS e o site abre num endereço sslip.io baseado no seu IP
- Um utilizador app sem privilégios e uma pasta de projeto /home/app/uygulama
- Um server.js de exemplo à escuta em 127.0.0.1:3000
- git, para poder trazer o código
- Firewall com as portas 22, 80 e 443 abertas, enquanto a porta 3000 da aplicação fica interna
Que tamanho é necessário para o Node.js?
O Node.js não tem um valor oficial de RAM. Como regra geral, 1 GB serve para começar uma API ou uma pequena aplicação Express, 2 GB é mais confortável quando há npm install e um passo de compilação, e 4 GB serve para uma compilação grande de front-end. Esta instalação não acrescenta swap, por isso uma compilação pára quando a memória acaba. Quando acrescentar núcleos de CPU, pm2 start server.js -i max executa um processo por núcleo. O tamanho altera-se a partir do painel e os dados e o endereço IP mantêm-se.
| Utilização | Tamanho | Preço | Escolher |
|---|---|---|---|
| Inicial | 1 GB RAM · 1 vCore · 25 GB NVMe | $2.58/mês | |
| Médio | 2 GB RAM · 1 vCore · 40 GB NVMe | $4.01/mês | |
| Potente | 4 GB RAM · 2 vCore · 60 GB NVMe | $6.89/mês |
Para quem é?
- Programadores que escrevem APIs com Express, Fastify ou NestJS
- Aplicações que usam WebSockets, que o Caddy deixa passar para o seu processo
- Bots, workers de filas e tarefas agendadas que precisam de continuar a correr
- Quem prefere gerir um servidor simples por si a depender de uma plataforma de publicação
- Projetos com utilizadores na Turquia que querem a API em Istambul
O que acontece depois de encomendar?
- Defina o tamanho e conclua o pagamento.
- O servidor arranca e o Node.js instala-se sozinho. Nos nossos testes com servidores reais, demorou cerca de 3 minutos.
- No separador Resumo do painel, abra a ligação Endereço do site. A página de exemplo mostra a versão do Node.js.
- Ligue-se por SSH, execute su - app e vá para a pasta com cd ~/uygulama. Apague o server.js de exemplo e traga o código com git clone.
- Execute npm install, depois pm2 delete uygulama, pm2 start server.js --name uygulama com o seu próprio ficheiro de entrada, e pm2 save.
- Faça a aplicação ficar à escuta na porta 3000. O Caddy encaminha para ela os pedidos HTTPS recebidos.
Em todos os servidores
- Cópias de segurança diárias incluídas no preço
- Tráfego ilimitado
- Acesso root completo
- Aumentar ou reduzir a RAM e o CPU mais tarde, e fazer crescer o disco
- Localização: Istanbul · IST-1.
Bom saber
- Se a aplicação estiver à escuta noutra porta, altere a linha reverse_proxy em /etc/caddy/Caddyfile e execute systemctl reload caddy como root.
- Sem pm2 save, a nova lista de processos não é guardada e a lista antiga volta depois de um reinício.
- As ferramentas de compilação não estão incluídas. Para pacotes que compilam módulos nativos, execute apt install build-essential como root.
- Não está instalada nenhuma base de dados. Ligue a aplicação a um servidor de base de dados separado ou instale uma aqui por si.
- O Node.js fica na versão principal 26. As correções chegam pelo apt, mas executar apt upgrade e passar para uma nova versão principal fica consigo.
- Se não for possível emitir um certificado, o site abre em http no seu endereço IP.
Node.js: perguntas e respostas
Como publico uma aplicação Node.js num VPS?
Ligue-se por SSH, execute su - app e traga o código para ~/uygulama com git clone. Execute npm install, inicie a aplicação com pm2 start e guarde-a com pm2 save. Se estiver à escuta na porta 3000, abre no seu endereço HTTPS.
De quanta RAM precisa um alojamento Node.js?
O Node.js não tem um valor oficial de RAM. Como regra geral, 1 GB é um bom ponto de partida para uma API pequena, 2 GB para um projeto com passo de compilação e 4 GB para uma compilação grande de front-end. Se não chegar, aumente a partir do painel.
A minha aplicação volta depois de o servidor reiniciar?
Sim. O PM2 arranca no arranque do sistema através de um serviço systemd chamado pm2-app e restaura os processos que guardou com pm2 save. Depois de iniciar uma aplicação nova, não se esqueça de executar pm2 save.
Posso executar Next.js ou Express?
Sim, funciona qualquer aplicação Node.js que fique à escuta na porta 3000. Para o Next.js, execute npm run build e depois pm2 start npm --name uygulama -- start. As compilações costumam precisar de mais memória do que a aplicação em execução, por isso aumente primeiro para um projeto grande.
Como ligo o meu próprio domínio a um servidor Node.js?
Aponte o registo A do domínio para o endereço IP do servidor. Substitua o nome antigo em todo o /etc/caddy/Caddyfile pelo seu domínio e execute systemctl reload caddy como root. O Caddy obtém e renova o certificado sozinho.
Posso usar outra versão do Node.js?
Sim, já que tem root. A versão 26 LTS é a que está instalada. Para outra versão, instale o nvm para o utilizador app e aponte o PM2 para o binário node dessa versão com a opção --interpreter.