15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij
15.10.2024

Jak zainstalować React.js na Windows VPS: Kompletny przewodnik konfiguracji

React.js to otwartoźródłowa biblioteka JavaScript utrzymywana przez Meta (dawniej Facebook) do budowania interfejsów użytkownika opartych na komponentach, szczególnie aplikacji jednostronicowych (SPA), które dynamicznie aktualizują DOM bez pełnego przeładowania strony. Instalacja React na Windows VPS — zamiast na lokalnej stacji roboczej — zapewnia trwałe, zdalnie dostępne środowisko programistyczne z dedykowanymi zasobami, co czyni je idealnym do współpracy zespołowej, potoków CI/CD i wdrożeń stagingowych.

Ten przewodnik przeprowadza przez każdy etap instalacji React.js klasy produkcyjnej na Windows VPS: od konfiguracji środowiska uruchomieniowego Node.js i zarządzania zmiennymi środowiskowymi, przez tworzenie szkieletu projektu, obsługę serwera deweloperskiego, aż po generowanie produkcyjnych plików wyjściowych. Omawia również nieoczywiste tryby awarii, na które natykają się inżynierowie podążający za powierzchownymi samouczkami.

Dlaczego instalować React na Windows VPS zamiast na localhost

Uruchomienie środowiska deweloperskiego React na instancji VPS Hosting zamiast na lokalnej maszynie rozwiązuje kilka rzeczywistych problemów:

  • Stały czas działania: Serwer deweloperski pozostaje uruchomiony nawet gdy lokalna maszyna jest wyłączona, umożliwiając zdalnym członkom zespołu lub testerom QA dostęp do podglądu na żywo w dowolnym momencie.
  • Spójne środowisko: Każdy programista łączy się z tym samym systemem operacyjnym, wersją Node i drzewem zależności, eliminując błędy „działa na mojej maszynie”.
  • Izolacja zasobów: Intensywne obliczeniowo kompilacje (npm run build, duże kompilacje Webpack) nie obciążają lokalnej stacji roboczej.
  • Parytety stagingowe: Windows VPS odzwierciedla docelowe środowisko wdrożeniowe, gdy stos produkcyjny jest również oparty na Windows Server (IIS, hybrydowe architektury ASP.NET).
  • Zdalny dostęp: Możesz udostępnić serwer deweloperski na określonym porcie i uzyskać do niego dostęp z dowolnej przeglądarki, z dowolnego miejsca.

Jeśli Twoje obciążenie ostatecznie skaluje się do obsługi skompilowanych zasobów React wraz z API Node.js, rozważ przejście na środowisko Serwerów Dedykowanych dla gwarantowanej przepustowości I/O i braku efektów hałaśliwego sąsiada.

Wymagania wstępne

Przed rozpoczęciem upewnij się, że na Windows VPS spełnione są następujące warunki:

  • Windows Server 2016 / 2019 / 2022 lub Windows 10/11 (64-bit)
  • Dostęp administratora lub użytkownika z podwyższonymi uprawnieniami przez RDP
  • Wychodzący dostęp do internetu na VPS (do pobierania instalatorów i pakietów npm)
  • Co najmniej 2 GB RAM — kompilacja w pamięci Webpack jest zasobożerna; 4 GB jest zalecane dla projektów z więcej niż kilkoma zależnościami
  • Edytor tekstu lub IDE — Visual Studio Code jest de facto standardem dla programowania w React

Krok 1: Instalacja Node.js na Windows

1.1 Pobieranie wydania LTS

React nie wymaga absolutnie najnowszego wydania Node.js. Kanał LTS (Long Term Support) jest właściwym wyborem dla każdego środowiska, w którym liczy się stabilność.

  1. Otwórz przeglądarkę na swoim VPS (lub pobierz zdalnie i przenieś przez schowek RDP).
  2. Przejdź do https://nodejs.org.
  3. Pobierz Instalator Windows (.msi) dla aktualnej wersji LTS (np. 20.x lub 22.x).

Ważna uwaga: Zawsze pobieraj instalator .msi 64-bit, nie archiwum .zip. Plik .msi automatycznie obsługuje rejestrację PATH, integrację z usługami i zależność Visual C++ Redistributable. Archiwum .zip wymaga ręcznej konfiguracji PATH i jest częstym źródłem błędów nierozpoznawania npm.

1.2 Uruchamianie instalatora

Uruchom pobrany plik .msi i postępuj zgodnie z kreatorem:

  1. Zaakceptuj umowę licencyjną.
  2. Pozostaw domyślną ścieżkę docelową (C:Program Filesnodejs), chyba że masz konkretny powód, aby ją zmienić.
  3. Na ekranie Konfiguracja niestandardowa upewnij się, że zaznaczone są wszystkie następujące komponenty:
  • Środowisko uruchomieniowe Node.js
  • Menedżer pakietów npm
  • Dodaj do PATH (to najważniejsze pole wyboru — jeśli odznaczone, żaden terminal nie rozpozna node ani npm)
  • Skróty do dokumentacji online (opcjonalne)
  1. Na ekranie Narzędzia dla modułów natywnych zaznacz „Automatycznie zainstaluj niezbędne narzędzia”, jeśli przewidujesz używanie pakietów npm wymagających natywnej kompilacji (node-gyp, bcrypt, sharp itp.). Spowoduje to ciche zainstalowanie Chocolatey, Python i Visual Studio Build Tools.
  2. Zakończ instalację i uruchom ponownie sesję terminala (lub całą sesję RDP, jeśli zmiany PATH nie są natychmiast widoczne).

1.3 Weryfikacja instalacji

Otwórz nowe okno PowerShell lub Wiersza poleceń (nie to, które było otwarte przed instalacją — nie będzie miało zaktualizowanego PATH) i uruchom:

node -v
npm -v

Oba polecenia muszą zwrócić ciągi wersji. Jeśli którekolwiek zwraca 'node' is not recognized as an internal or external command, PATH nie został poprawnie ustawiony. Zobacz sekcję rozwiązywania problemów poniżej.

Przykład oczekiwanego wyniku:

v20.14.0
10.7.0

1.4 Konfiguracja globalnego katalogu pakietów npm (opcjonalne, ale zalecane)

Domyślnie npm instaluje pakiety globalne w C:Users<username>AppDataRoamingnpm. W środowisku Windows Server współdzielonym lub wieloużytkownikowym może to powodować konflikty uprawnień. Aby ustawić niestandardowy katalog globalny:

npm config set prefix "C:npm-global"

Następnie dodaj C:npm-global do systemowego PATH przez Właściwości systemu > Zmienne środowiskowe > Zmienne systemowe > Path.

Krok 2: Tworzenie szkieletu aplikacji React

2.1 Nowoczesne podejście: Vite (zalecane zamiast Create React App)

Oryginalny artykuł zaleca create-react-app (CRA). To przestarzała rada. CRA zostało oficjalnie wycofane na początku 2023 roku i nie jest już utrzymywane przez główny zespół React. Sama dokumentacja React nie zaleca go już dla nowych projektów.

Aktualnie zalecane narzędzia do tworzenia szkieletów to:

NarzędzieSystem kompilacjiSzybkość serwera deweloperskiegoWyjście pakietuNajlepsze dla
**Vite**Rollup (natywny ESM)Ekstremalnie szybki (HMR w milisekundach)Zoptymalizowane moduły ESNowe projekty, SPA, nowoczesne przeglądarki
**Create React App**Webpack 4Wolny przy dużych projektachPakiet CommonJSTylko projekty legacy
**Next.js**Turbopack / WebpackSzybkiSSR + statycznyPełnostackowy React, aplikacje krytyczne dla SEO
**Remix**esbuildSzybkiRenderowany po stronie serweraAplikacje z dużą ilością danych i formularzy
**Parcel**Bundler ParcelSzybki, bez konfiguracjiWiele celówPrototypowanie, małe projekty

Dla prostej SPA na Windows VPS, Vite jest właściwym wyborem w 2024 roku i później.

2.2 Tworzenie nowego projektu React z Vite

Otwórz PowerShell i przejdź do katalogu projektów:

cd C:Projects

Utwórz szkielet nowego projektu React:

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

Aby użyć TypeScript (zdecydowanie zalecane dla każdego nietrywialnego projektu):

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

Przejdź do katalogu projektu i zainstaluj zależności:

cd my-react-app
npm install

2.3 Jeśli musisz używać Create React App (projekty legacy)

Jeśli utrzymujesz starszą bazę kodu wymagającą CRA, użyj npx aby uruchomić go bez globalnej instalacji:

npx create-react-app my-react-app

Nie uruchamiaj npm install -g create-react-app. Podejście z globalną instalacją jest przestarzałe i pobierze nieaktualną wersję z pamięci podręcznej. Użycie npx zawsze pobiera najnowszą dostępną wersję z rejestru.

Krok 3: Uruchamianie serwera deweloperskiego

3.1 Uruchamianie serwera deweloperskiego

Dla projektu opartego na Vite:

npm run dev

Dla projektu opartego na CRA:

npm start

Oba polecenia uruchamiają lokalny serwer deweloperski. Vite domyślnie używa http://localhost:5173; CRA domyślnie używa http://localhost:3000.

3.2 Udostępnianie serwera deweloperskiego na Windows VPS (zdalny dostęp)

Na lokalnej maszynie serwer deweloperski jest dostępny tylko z localhost. Na VPS zazwyczaj chcesz uzyskać do niego dostęp z lokalnej przeglądarki przez internet. Wymagane są dwie zmiany:

Powiąż serwer ze wszystkimi interfejsami sieciowymi:

Dla Vite, edytuj vite.config.js (lub 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,
  },
})

Dla CRA, ustaw zmienną środowiskową HOST przed uruchomieniem:

set HOST=0.0.0.0
npm start

Otwórz port w Zaporze Windows:

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

Po tym możesz uzyskać dostęp do serwera deweloperskiego pod adresem http://<your-vps-ip>:5173 z dowolnej przeglądarki.

Ostrzeżenie dotyczące bezpieczeństwa: Nigdy nie wystawiaj serwera deweloperskiego na publiczny internet na produkcyjnym VPS bez uwierzytelniania. Używaj odwrotnego proxy (Nginx lub IIS z URL Rewrite) lub tunelu VPN dla każdego środowiska obsługującego rzeczywiste dane.

Krok 4: Struktura projektu i kluczowe pliki

Zrozumienie struktury szkieletu zapobiega nieporozumieniom podczas modyfikowania plików:

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)

Plik src/main.jsx jest punktem wejścia aplikacji. Wywołuje ReactDOM.createRoot() aby zamontować główny komponent w divie #root w index.html. Każdy budowany komponent zostanie ostatecznie zaimportowany do tego drzewa.

Krok 5: Kompilacja dla produkcji

Gdy aplikacja jest gotowa do wdrożenia, wygeneruj zoptymalizowaną statyczną kompilację:

npm run build

To polecenie wywołuje bundler Vite oparty na Rollup (lub Webpack dla CRA), który:

  • Transpiluje JSX i nowoczesny JavaScript do ES5/ES2015+ kompatybilnego z przeglądarkami
  • Usuwa nieużywany kod z pakietu (tree-shaking)
  • Minifikuje JavaScript, CSS i HTML
  • Generuje nazwy plików z haszem zawartości dla długoterminowego buforowania przez przeglądarkę
  • Wyprowadza wszystko do katalogu dist/ (Vite) lub build/ (CRA)

Aby podejrzeć kompilację produkcyjną lokalnie przed wdrożeniem:

npm run preview

Zawartość dist/ to czysto statyczne pliki (HTML, JS, CSS, zasoby). Mogą być obsługiwane przez dowolny serwer WWW — IIS na Windows Server, Nginx, Apache lub statyczną usługę hostingową.

Wdrażanie kompilacji do IIS na Windows Server

Jeśli Twój VPS uruchamia IIS, skonfiguruj nową witrynę wskazującą na folder dist/. Ponieważ SPA React używają routingu po stronie klienta, musisz dodać regułę URL Rewrite przekierowującą wszystkie błędy 404 z powrotem do 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>

Bez tej reguły każda bezpośrednia nawigacja do ścieżki takiej jak /dashboard zwróci błąd 404 z IIS zamiast załadować aplikację React.

Jeśli obsługujesz frontend React wraz z backendowym API i potrzebujesz zarządzanego środowiska panelu sterowania, VPS z cPanel może uprościć konfigurację wirtualnych hostów i terminację SSL.

Krok 6: Zabezpieczenie aplikacji za pomocą HTTPS

Produkcyjna aplikacja React musi być obsługiwana przez HTTPS. Przeglądarki blokują żądania z mieszaną zawartością, a wiele API przeglądarki (service workers, geolokalizacja, schowek) jest ograniczonych do bezpiecznych kontekstów.

Dla wdrożenia hostowanego na VPS:

  1. Uzyskaj certyfikat SSL dla swojej domeny. AlexHost zapewnia Certyfikaty SSL, które można zainstalować bezpośrednio na VPS.
  2. Skonfiguruj IIS lub odwrotne proxy do terminacji TLS na porcie 443 i przekierowania HTTP (port 80) do HTTPS.
  3. Ustaw zmienną środowiskową HTTPS na true jeśli używasz wbudowanego serwera CRA do lokalnego testowania HTTPS.

Jeśli nie masz jeszcze domeny wskazującej na Twój VPS, najpierw zarejestruj ją przez Rejestrację Domen i skonfiguruj rekord DNS A wskazujący na adres IP Twojego VPS.

Krok 7: Rozwiązywanie typowych problemów

node lub npm nierozpoznane

Oznacza to, że katalog instalacji Node.js nie znajduje się w systemowym PATH. Napraw to ręcznie:

  1. Naciśnij Win + R, wpisz sysdm.cpl, naciśnij Enter.
  2. Przejdź do Zaawansowane > Zmienne środowiskowe.
  3. W sekcji Zmienne systemowe znajdź Path i kliknij Edytuj.
  4. Dodaj C:Program Filesnodejs jako nowy wpis.
  5. Kliknij OK we wszystkich oknach dialogowych, a następnie otwórz nowe okno terminala.

Błędy EACCES lub odmowy uprawnień podczas instalacji npm

Na Windows Server zazwyczaj występuje to podczas uruchamiania npm jako ograniczony użytkownik. Uruchom PowerShell jako Administrator lub skonfiguruj katalogi pamięci podręcznej i globalny npm na ścieżkę należącą do bieżącego użytkownika:

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

Port jest już używany

Jeśli port 5173 lub 3000 jest zajęty przez inny proces:

netstat -ano | findstr :5173

Zidentyfikuj PID w ostatniej kolumnie, a następnie:

taskkill /PID <PID> /F

Alternatywnie zmień port w vite.config.js lub przekaż --port jako flagę:

npm run dev -- --port 3001

npm ERR! code EINTEGRITY (niezgodność sumy kontrolnej)

Wskazuje to na uszkodzoną pamięć podręczną npm. Wyczyść ją i spróbuj ponownie:

npm cache clean --force
npm install

Wolne npm install przy pierwszym uruchomieniu

Początkowa instalacja zależności dla projektu React może zająć 2–5 minut w zależności od przepustowości sieci VPS i I/O dysku. Jeśli konsekwentnie przekracza limit czasu, sprawdź czy VPS ma wychodzący dostęp do registry.npmjs.org na porcie 443. Niektóre polityki zapory centrum danych domyślnie blokują to.

Macierz decyzyjna: Wybór właściwej konfiguracji React dla VPS

ScenariuszZalecane tworzenie szkieletuObsługuj za pomocąUwagi
Nowa SPA, nowoczesne przeglądarki doceloweVite + ReactIIS / odwrotne proxy NginxNajszybsze czasy kompilacji, najlepsze DX
Utrzymanie starszego projektu CRACRA (przez npx)IIS / serwer plików statycznychNie migruj, chyba że konieczne
Publiczna witryna krytyczna dla SEONext.jsProces Node.js (PM2)SSR wymagane do indeksowania przez crawlery
Wewnętrzny panel, brak potrzeby SEOVite + ReactStatyczna witryna IISNie potrzeba narzutu SSR
Pełnostackowy React + API na tym samym VPSNext.js lub RemixPM2 + odwrotne proxy IISTrasy API obsługiwane po stronie serwera
Wdrożenie produkcyjne o dużym ruchuKompilacja Vite + CDNKrawędź CDN + origin VPSOdciąż statyczne zasoby do CDN

Praktyczna lista kontrolna kluczowych wniosków

  • Zainstaluj wydanie LTS Node.js używając instalatora .msi, nie archiwum .zip, aby zapewnić automatyczną rejestrację PATH.
  • Używaj npx create vite@latest dla wszystkich nowych projektów React — CRA jest przestarzałe i nie powinno być używane do nowego programowania.
  • Na VPS ustaw host: '0.0.0.0' w vite.config.js i otwórz odpowiedni port zapory, aby uzyskać zdalny dostęp do serwera deweloperskiego.
  • Dodaj regułę URL Rewrite IIS przekierowującą wszystkie żądania niebędące plikami ani katalogami do index.html — bez niej routing po stronie klienta psuje się przy bezpośrednim dostępie do URL.
  • Zawsze obsługuj kompilacje produkcyjne przez HTTPS; uzyskaj i zainstaluj certyfikat SSL przed uruchomieniem.
  • Uruchom npm run build i sprawdź wynik dist/ przed wdrożeniem — sprawdź rozmiary pakietów używając npm run build -- --report lub vite-bundle-visualizer.
  • Nigdy nie commituj node_modules/ do kontroli wersji; zawsze dodawaj go do .gitignore.
  • Jeśli w różnych projektach wymagane są różne wersje Node, zainstaluj nvm-windows do zarządzania nimi bez globalnej reinstalacji Node.js.

FAQ

Czy React.js musi być „zainstalowany” na serwerze, czy wystarczy wynik kompilacji?

React sam w sobie jest zależnością czasu kompilacji. Produkcyjny wynik npm run build to zwykły HTML, CSS i JavaScript — do jego obsługi na serwerze nie jest wymagane środowisko uruchomieniowe Node.js. Node.js jest potrzebny tylko na maszynie, na której uruchamiasz proces kompilacji.

Jaka jest różnica między npm run dev a npm run build?

npm run dev uruchamia serwer deweloperski z hot module replacement (HMR) i nieminifikowanymi mapami źródłowymi — nie jest zoptymalizowany pod kątem wydajności i nigdy nie powinien być używany do obsługi ruchu produkcyjnego. npm run build tworzy zminifikowany, poddany tree-shakingowi, statyczny pakiet z haszem zawartości przeznaczony do wdrożenia.

Dlaczego Create React App jest przestarzałe i czego powinienem używać zamiast niego?

CRA opiera się na Webpack 4, który ma znacznie wolniejsze czasy kompilacji i HMR w porównaniu z natywnym dla ESM serwerem deweloperskim Vite. Zespół React oficjalnie usunął CRA ze swojej dokumentacji w 2023 roku i teraz zaleca Vite dla SPA, Next.js dla aplikacji pełnostackowych i Remix dla aplikacji z dużą ilością danych.

Czy mogę uruchamiać wiele projektów React na tym samym Windows VPS jednocześnie?

Tak. Każdy projekt uruchamia swój serwer deweloperski na innym porcie. Skonfiguruj vite.config.js każdego projektu z unikalną wartością port, otwórz każdy port w Zaporze Windows i opcjonalnie skonfiguruj IIS jako odwrotne proxy do kierowania subdomen lub ścieżek do odpowiedniego portu.

Jak utrzymać działający serwer deweloperski React po zamknięciu sesji RDP?

Użyj menedżera procesów. Zainstaluj PM2 globalnie (npm install -g pm2) i uruchom serwer deweloperski jako zarządzany proces: pm2 start npm --name "react-dev" -- run dev. PM2 utrzymuje proces przy życiu niezależnie od sesji terminala i można go skonfigurować do restartu przy ponownym uruchomieniu systemu.

15%

Zaoszczędź 15% na wszystkich usługach hostingowych

Sprawdź swoje umiejętności i zdobądź Rabat na dowolny plan hostingowy

Użyj kodu:

Skills
Rozpocznij