15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar
15.10.2024

Como Instalar o React.js em um VPS Windows: Guia Completo de Configuração

React.js é uma biblioteca JavaScript de código aberto mantida pela Meta (anteriormente Facebook) para construir interfaces de utilizador baseadas em componentes, particularmente aplicações de página única (SPAs) que atualizam o DOM dinamicamente sem recarregamentos completos de página. Instalar o React num VPS Windows — em vez de uma estação de trabalho local — proporciona um ambiente de desenvolvimento persistente e acessível remotamente com recursos dedicados, tornando-o ideal para colaboração em equipa, pipelines CI/CD e implementações de staging.

Este guia percorre cada etapa de uma instalação de React.js de nível de produção num VPS Windows: desde a configuração do runtime Node.js e gestão de variáveis de ambiente até ao scaffolding de projetos, operação do servidor de desenvolvimento e saída de build de produção. Também aborda modos de falha não óbvios que apanham de surpresa engenheiros que seguem tutoriais superficiais.

Por Que Instalar o React num VPS Windows em Vez de Localhost

Executar o seu ambiente de desenvolvimento React numa instância de VPS Hosting em vez de uma máquina local resolve vários problemas do mundo real:

  • Tempo de atividade persistente: O servidor de desenvolvimento mantém-se em execução mesmo quando a sua máquina local está desligada, permitindo que membros remotos da equipa ou testadores de QA acedam a um URL de pré-visualização em qualquer momento.
  • Ambiente consistente: Cada programador liga-se ao mesmo SO, versão do Node e árvore de dependências, eliminando bugs de “funciona na minha máquina”.
  • Isolamento de recursos: Builds intensivas em CPU (npm run build, grandes compilações Webpack) não degradam a sua estação de trabalho local.
  • Paridade de staging: Um VPS Windows espelha o ambiente de implementação alvo quando a sua stack de produção também é baseada em Windows Server (IIS, arquiteturas híbridas ASP.NET).
  • Acessibilidade remota: Pode expor o servidor de desenvolvimento numa porta específica e aceder a ele a partir de qualquer browser, em qualquer lugar.

Se a sua carga de trabalho eventualmente escalar para servir assets React compilados juntamente com uma API Node.js, considere migrar para um ambiente de Dedicated Servers para throughput de I/O garantido e sem efeitos de vizinho barulhento.

Pré-requisitos

Antes de começar, confirme que os seguintes elementos estão em vigor no seu VPS Windows:

  • Windows Server 2016 / 2019 / 2022 ou Windows 10/11 (64-bit)
  • Acesso de administrador ou utilizador elevado via RDP
  • Acesso à internet de saída no VPS (para descarregar instaladores e pacotes npm)
  • Pelo menos 2 GB RAM — a compilação em memória do Webpack é exigente em memória; 4 GB é recomendado para projetos com mais do que algumas dependências
  • Um editor de texto ou IDE — o Visual Studio Code é o padrão de facto para desenvolvimento React

Passo 1: Instalar o Node.js no Windows

1.1 Descarregar a Versão LTS

O React não requer a versão mais recente do Node.js. O canal LTS (Long Term Support) é a escolha correta para qualquer ambiente onde a estabilidade é importante.

  1. Abra um browser no seu VPS (ou descarregue remotamente e transfira via área de transferência RDP).
  2. Navegue para https://nodejs.org.
  3. Descarregue o Windows Installer (.msi) para a versão LTS atual (por exemplo, 20.x ou 22.x).

Nota crítica: Descarregue sempre o instalador .msi de 64-bit, não o arquivo .zip. O .msi trata automaticamente do registo de PATH, integração de serviços e da dependência Visual C++ Redistributable. O arquivo .zip requer configuração manual de PATH e é uma fonte comum de erros de npm não reconhecido.

1.2 Executar o Instalador

Execute o ficheiro .msi descarregado e siga o assistente:

  1. Aceite o contrato de licença.
  2. Deixe o caminho de destino como predefinido (C:Program Filesnodejs) a menos que tenha uma razão específica para o alterar.
  3. No ecrã de Configuração Personalizada, certifique-se de que todos os seguintes componentes estão selecionados:
  • Runtime Node.js
  • Gestor de pacotes npm
  • Adicionar ao PATH (esta é a caixa de verificação mais importante — se não estiver marcada, nenhum terminal reconhecerá node ou npm)
  • Atalhos de documentação online (opcional)
  1. No ecrã de Ferramentas para Módulos Nativos, marque “Instalar automaticamente as ferramentas necessárias” se antecipar o uso de pacotes npm que requerem compilação nativa (node-gyp, bcrypt, sharp, etc.). Isto instala silenciosamente o Chocolatey, Python e as Visual Studio Build Tools.
  2. Conclua a instalação e reinicie a sessão do terminal (ou toda a sessão RDP se as alterações de PATH não forem refletidas imediatamente).

1.3 Verificar a Instalação

Abra uma nova janela do PowerShell ou Linha de Comandos (não uma que estava aberta antes da instalação — não terá o PATH atualizado) e execute:

node -v
npm -v

Ambos os comandos devem retornar strings de versão. Se algum retornar 'node' is not recognized as an internal or external command, o PATH não foi configurado corretamente. Consulte a secção de resolução de problemas abaixo.

Exemplo de saída esperada:

v20.14.0
10.7.0

1.4 Configurar o Diretório de Pacotes Globais do npm (Opcional mas Recomendado)

Por predefinição, o npm instala pacotes globais em C:Users<username>AppDataRoamingnpm. Num ambiente Windows Server partilhado ou multiutilizador, isto pode causar conflitos de permissões. Para definir um diretório global personalizado:

npm config set prefix "C:npm-global"

Em seguida, adicione C:npm-global ao PATH do sistema através de Propriedades do Sistema > Variáveis de Ambiente > Variáveis do Sistema > Path.

Passo 2: Estruturar uma Aplicação React

2.1 A Abordagem Moderna: Vite (Recomendado em Vez do Create React App)

O artigo original recomenda create-react-app (CRA). Este é um conselho desatualizado. O CRA foi oficialmente descontinuado no início de 2023 e já não é mantido pela equipa principal do React. A própria documentação do React já não o recomenda para novos projetos.

As ferramentas de scaffolding atualmente recomendadas são:

FerramentaSistema de BuildVelocidade do Servidor de DesenvolvimentoSaída do BundleMelhor Para
**Vite**Rollup (ESM-nativo)Extremamente rápido (HMR em milissegundos)Módulos ES otimizadosNovos projetos, SPAs, browsers modernos
**Create React App**Webpack 4Lento em projetos grandesBundle CommonJSApenas projetos legados
**Next.js**Turbopack / WebpackRápidoSSR + estáticoReact full-stack, apps críticas para SEO
**Remix**esbuildRápidoRenderizado no servidorAplicações com muitos dados e formulários
**Parcel**Bundler ParcelRápido, sem configuraçãoMúltiplos alvosPrototipagem, projetos pequenos

Para uma SPA simples num VPS Windows, Vite é a escolha correta em 2024 e além.

2.2 Criar um Novo Projeto React com Vite

Abra o PowerShell e navegue para o seu diretório de projetos:

cd C:Projects

Estruture um novo projeto React:

npm create vite@latest my-react-app -- --template react

Para usar TypeScript (fortemente recomendado para qualquer projeto não trivial):

npm create vite@latest my-react-app -- --template react-ts

Navegue para o diretório do projeto e instale as dependências:

cd my-react-app
npm install

2.3 Se Tiver de Usar o Create React App (Projetos Legados)

Se estiver a manter uma base de código legada que requer CRA, use npx para o executar sem uma instalação global:

npx create-react-app my-react-app

Não execute npm install -g create-react-app. A abordagem de instalação global está descontinuada e irá obter uma versão em cache desatualizada. Usar npx obtém sempre a versão mais recente disponível no registo.

Passo 3: Executar o Servidor de Desenvolvimento

3.1 Iniciar o Servidor de Desenvolvimento

Para um projeto baseado em Vite:

npm run dev

Para um projeto baseado em CRA:

npm start

Ambos os comandos iniciam um servidor de desenvolvimento local. O Vite usa por predefinição http://localhost:5173; o CRA usa por predefinição http://localhost:3000.

3.2 Expor o Servidor de Desenvolvimento num VPS Windows (Acesso Remoto)

Numa máquina local, o servidor de desenvolvimento só é acessível a partir de localhost. Num VPS, normalmente pretende aceder a ele a partir do seu browser local através da internet. São necessárias duas alterações:

Vincular o servidor a todas as interfaces de rede:

Para o Vite, edite vite.config.js (ou vite.config.ts):

import { defineConfig } from 'vite'
import react from '@vitejs/plugin-react'

export default defineConfig({
  plugins: [react()],
  server: {
    host: '0.0.0.0',
    port: 5173,
  },
})

Para o CRA, defina a variável de ambiente HOST antes de iniciar:

set HOST=0.0.0.0
npm start

Abrir a porta na Firewall do Windows:

netsh advfirewall firewall add rule name="React Dev Server" dir=in action=allow protocol=TCP localport=5173

Após isto, pode aceder ao servidor de desenvolvimento em http://<your-vps-ip>:5173 a partir de qualquer browser.

Aviso de segurança: Nunca exponha um servidor de desenvolvimento à internet pública num VPS de produção sem autenticação. Use um proxy reverso (Nginx ou IIS com URL Rewrite) ou um túnel VPN para qualquer ambiente que lide com dados reais.

Passo 4: Estrutura do Projeto e Ficheiros Principais

Compreender a estrutura gerada pelo scaffolding evita confusão quando começa a modificar ficheiros:

my-react-app/
├── public/             # Static assets served as-is (favicon, robots.txt)
├── src/
│   ├── assets/         # Images, fonts imported by components
│   ├── App.jsx         # Root component
│   ├── App.css         # Root component styles
│   ├── main.jsx        # Entry point — mounts <App /> into index.html
│   └── index.css       # Global styles
├── index.html          # HTML shell — Vite injects the bundle here
├── vite.config.js      # Vite configuration
├── package.json        # Dependencies and scripts
└── node_modules/       # Installed packages (never commit this)

O ficheiro src/main.jsx é o ponto de entrada da aplicação. Chama ReactDOM.createRoot() para montar o componente raiz na div #root em index.html. Cada componente que construir será eventualmente importado para esta árvore.

Passo 5: Build para Produção

Quando a aplicação estiver pronta para implementação, gere um build estático otimizado:

npm run build

Este comando invoca o bundler baseado em Rollup do Vite (ou Webpack para CRA), que:

  • Transpila JSX e JavaScript moderno para ES5/ES2015+ compatível com browsers
  • Elimina código não utilizado do bundle (tree-shaking)
  • Minifica JavaScript, CSS e HTML
  • Gera nomes de ficheiros com hash de conteúdo para cache de longa duração no browser
  • Exporta tudo para o diretório dist/ (Vite) ou diretório build/ (CRA)

Para pré-visualizar o build de produção localmente antes de implementar:

npm run preview

O conteúdo de dist/ são ficheiros puramente estáticos (HTML, JS, CSS, assets). Podem ser servidos por qualquer servidor web — IIS no Windows Server, Nginx, Apache ou um serviço de alojamento estático.

Implementar o Build no IIS no Windows Server

Se o seu VPS executa IIS, configure um novo site apontando para a pasta dist/. Como as SPAs React usam roteamento do lado do cliente, deve adicionar uma regra de URL Rewrite para redirecionar todos os 404s de volta para index.html:

<configuration>
  <system.webServer>
    <rewrite>
      <rules>
        <rule name="React SPA" stopProcessing="true">
          <match url=".*" />
          <conditions logicalGrouping="MatchAll">
            <add input="{REQUEST_FILENAME}" matchType="IsFile" negate="true" />
            <add input="{REQUEST_FILENAME}" matchType="IsDirectory" negate="true" />
          </conditions>
          <action type="Rewrite" url="/index.html" />
        </rule>
      </rules>
    </rewrite>
  </system.webServer>
</configuration>

Sem esta regra, qualquer navegação direta para uma rota como /dashboard retornará um 404 do IIS em vez de carregar a app React.

Se estiver a servir o frontend React juntamente com uma API de backend e precisar de um ambiente de painel de controlo gerido, um VPS com cPanel pode simplificar a configuração de hosts virtuais e a terminação SSL.

Passo 6: Proteger a Aplicação com HTTPS

Uma app React de produção deve ser servida através de HTTPS. Os browsers bloqueiam pedidos de conteúdo misto, e muitas APIs do browser (service workers, geolocalização, área de transferência) estão restritas a contextos seguros.

Para uma implementação alojada em VPS:

  1. Obtenha um certificado SSL para o seu domínio. A AlexHost fornece Certificados SSL que podem ser instalados diretamente no seu VPS.
  2. Configure o IIS ou o seu proxy reverso para terminar TLS na porta 443 e redirecionar HTTP (porta 80) para HTTPS.
  3. Defina a variável de ambiente HTTPS para true se usar o servidor integrado do CRA para testes HTTPS locais.

Se ainda não tiver um domínio apontado para o seu VPS, registe um primeiro através do Registo de Domínios e configure o registo DNS A para apontar para o endereço IP do seu VPS.

Passo 7: Resolução de Problemas Comuns

node ou npm Não Reconhecido

Isto significa que o diretório de instalação do Node.js não está no PATH do sistema. Corrija manualmente:

  1. Prima Win + R, escreva sysdm.cpl, prima Enter.
  2. Vá a Avançado > Variáveis de Ambiente.
  3. Em Variáveis do Sistema, encontre Path e clique em Editar.
  4. Adicione C:Program Filesnodejs como uma nova entrada.
  5. Clique em OK em todas as caixas de diálogo e abra uma nova janela de terminal.

Erros EACCES ou Permissão Negada Durante a Instalação npm

No Windows Server, isto ocorre tipicamente quando se executa npm como utilizador restrito. Execute o PowerShell como Administrador, ou configure os diretórios de cache e global do npm para um caminho que o utilizador atual possua:

npm config set cache "C:npm-cache"
npm config set prefix "C:npm-global"

Porta Já em Uso

Se a porta 5173 ou 3000 estiver ocupada por outro processo:

netstat -ano | findstr :5173

Identifique o PID na última coluna e depois:

taskkill /PID <PID> /F

Em alternativa, altere a porta em vite.config.js ou passe --port como flag:

npm run dev -- --port 3001

npm ERR! code EINTEGRITY (Incompatibilidade de Checksum)

Isto indica uma cache npm corrompida. Limpe-a e tente novamente:

npm cache clean --force
npm install

npm install Lento na Primeira Execução

A instalação inicial de dependências para um projeto React pode demorar 2–5 minutos dependendo do throughput de rede do VPS e do I/O do disco. Se consistentemente expirar, verifique se o VPS tem acesso de saída para registry.npmjs.org na porta 443. Algumas políticas de firewall de datacenters bloqueiam isto por predefinição.

Matriz de Decisão: Escolher a Configuração React Certa para o Seu VPS

CenárioScaffolding RecomendadoServir ComNotas
Nova SPA, alvos de browsers modernosVite + ReactIIS / proxy reverso NginxTempos de build mais rápidos, melhor DX
Manutenção de projeto CRA legadoCRA (via npx)IIS / servidor de ficheiros estáticosNão migre a menos que seja necessário
Site público crítico para SEONext.jsProcesso Node.js (PM2)SSR necessário para indexação por crawlers
Dashboard interno, sem necessidade de SEOVite + ReactSite estático IISSem overhead de SSR necessário
React full-stack + API no mesmo VPSNext.js ou RemixPM2 + proxy reverso IISRotas de API tratadas no lado do servidor
Implementação de produção com alto tráfegoBuild Vite + CDNEdge CDN + origem VPSDescarregar assets estáticos para CDN

Lista de Verificação de Pontos-Chave Práticos

  • Instale a versão LTS do Node.js usando o instalador .msi, não o arquivo .zip, para garantir o registo automático de PATH.
  • Use npx create vite@latest para todos os novos projetos React — o CRA está descontinuado e não deve ser usado para desenvolvimento de raiz.
  • Num VPS, defina host: '0.0.0.0' em vite.config.js e abra a porta de firewall correspondente para aceder ao servidor de desenvolvimento remotamente.
  • Adicione uma regra de URL Rewrite do IIS para redirecionar todos os pedidos que não sejam ficheiros nem diretórios para index.html — sem ela, o roteamento do lado do cliente falha no acesso direto por URL.
  • Sirva sempre os builds de produção através de HTTPS; obtenha e instale um certificado SSL antes de entrar em produção.
  • Execute npm run build e inspecione a saída de dist/ antes de implementar — verifique os tamanhos dos bundles usando npm run build -- --report ou vite-bundle-visualizer.
  • Nunca faça commit de node_modules/ para controlo de versões; adicione-o sempre a .gitignore.
  • Se forem necessárias múltiplas versões do Node em vários projetos, instale o nvm-windows para as gerir sem reinstalar o Node.js globalmente.

FAQ

O React.js precisa de ser “instalado” num servidor, ou apenas a saída do build?

O React em si é uma dependência de tempo de build. A saída de produção de npm run build é HTML, CSS e JavaScript simples — não é necessário nenhum runtime Node.js no servidor para o servir. O Node.js só é necessário na máquina onde executa o processo de build.

Qual é a diferença entre npm run dev e npm run build?

npm run dev inicia um servidor de desenvolvimento com substituição de módulos a quente (HMR) e mapas de origem não minificados — não está otimizado para desempenho e nunca deve ser usado para servir tráfego de produção. npm run build produz um bundle estático minificado, com tree-shaking e hash de conteúdo, destinado à implementação.

Por que o Create React App está descontinuado e o que devo usar em alternativa?

O CRA depende do Webpack 4, que tem tempos de build e HMR significativamente mais lentos em comparação com o servidor de desenvolvimento nativo ESM do Vite. A equipa do React removeu oficialmente o CRA da sua documentação em 2023 e agora recomenda o Vite para SPAs, Next.js para aplicações full-stack e Remix para apps com muitos dados.

Posso executar múltiplos projetos React no mesmo VPS Windows simultaneamente?

Sim. Cada projeto executa o seu servidor de desenvolvimento numa porta diferente. Configure o vite.config.js de cada projeto com um valor port único, abra cada porta na Firewall do Windows e opcionalmente configure o IIS como proxy reverso para encaminhar subdomínios ou caminhos para a porta apropriada.

Como mantenho o servidor de desenvolvimento React em execução depois de fechar a sessão RDP?

Use um gestor de processos. Instale o PM2 globalmente (npm install -g pm2) e inicie o servidor de desenvolvimento como um processo gerido: pm2 start npm --name "react-dev" -- run dev. O PM2 mantém o processo ativo independentemente da sessão do terminal e pode ser configurado para reiniciar no arranque do sistema.

15%

Poupe 15% em todos os serviços

Teste as suas habilidades e obtenha Desconto em qualquer plano

Utilizar o código:

Skills
Começar a trabalhar