15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți
15.10.2024

Cum să Instalezi React.js pe un VPS Windows: Ghid Complet de Configurare

React.js este o bibliotecă JavaScript open-source menținută de Meta (fostă Facebook) pentru construirea interfețelor utilizator bazate pe componente, în special aplicații cu o singură pagină (SPA) care actualizează DOM-ul dinamic fără reîncărcări complete ale paginii. Instalarea React pe un VPS Windows — în loc de o stație de lucru locală — vă oferă un mediu de dezvoltare persistent, accesibil de la distanță, cu resurse dedicate, ideal pentru colaborarea în echipă, pipeline-uri CI/CD și implementări de staging.

Acest ghid parcurge fiecare pas al unei instalări React.js de nivel producție pe un VPS Windows: de la configurarea runtime-ului Node.js și gestionarea variabilelor de mediu până la scaffolding-ul proiectului, operarea serverului de dezvoltare și generarea build-ului de producție. Acoperă, de asemenea, modurile de eșec neevidente care îi prind pe inginerii care urmează tutoriale superficiale.

De ce să instalați React pe un VPS Windows în loc de Localhost

Rularea mediului de dezvoltare React pe o instanță de VPS Hosting în loc de o mașină locală rezolvă mai multe probleme din lumea reală:

  • Uptime persistent: Serverul de dezvoltare rămâne activ chiar și când mașina locală este oprită, permițând membrilor echipei la distanță sau testerilor QA să acceseze un URL de previzualizare live în orice moment.
  • Mediu consistent: Fiecare dezvoltator se conectează la același OS, versiune Node și arbore de dependențe, eliminând bug-urile de tip „funcționează pe mașina mea”.
  • Izolarea resurselor: Build-urile intensive CPU (npm run build, compilații Webpack mari) nu degradează stația de lucru locală.
  • Paritate cu staging-ul: Un VPS Windows oglindește mediul de implementare țintă când stiva de producție este, de asemenea, bazată pe Windows Server (IIS, arhitecturi hibride ASP.NET).
  • Accesibilitate de la distanță: Puteți expune serverul de dezvoltare pe un port specific și îl puteți accesa din orice browser, de oriunde.

Dacă volumul de lucru se extinde în cele din urmă la servirea activelor React compilate alături de un API Node.js, luați în considerare trecerea la un mediu de Servere Dedicate pentru un debit I/O garantat și fără efecte de tip „vecin zgomotos”.

Cerințe preliminare

Înainte de a începe, confirmați că următoarele sunt disponibile pe VPS-ul dvs. Windows:

  • Windows Server 2016 / 2019 / 2022 sau Windows 10/11 (64-bit)
  • Acces de administrator sau utilizator cu privilegii ridicate prin RDP
  • Acces la internet de ieșire pe VPS (pentru descărcarea programelor de instalare și a pachetelor npm)
  • Cel puțin 2 GB RAM — compilarea în memorie a Webpack este consumatoare de memorie; 4 GB este recomandat pentru proiecte cu mai mult de câteva dependențe
  • Un editor de text sau IDE — Visual Studio Code este standardul de facto pentru dezvoltarea React

Pasul 1: Instalați Node.js pe Windows

1.1 Descărcați versiunea LTS

React nu necesită cea mai recentă versiune de Node.js. Canalul LTS (Long Term Support) este alegerea corectă pentru orice mediu în care stabilitatea contează.

  1. Deschideți un browser pe VPS-ul dvs. (sau descărcați de la distanță și transferați prin clipboard-ul RDP).
  2. Navigați la https://nodejs.org.
  3. Descărcați Windows Installer (.msi) pentru versiunea LTS curentă (de ex., 20.x sau 22.x).

Notă critică: Descărcați întotdeauna programul de instalare .msi de 64-bit, nu arhiva .zip. .msi gestionează automat înregistrarea PATH, integrarea serviciilor și dependența Visual C++ Redistributable. Arhiva .zip necesită configurare manuală a PATH și este o sursă comună de erori de tip npm nerecunoscut.

1.2 Rulați programul de instalare

Executați fișierul .msi descărcat și urmați expertul:

  1. Acceptați acordul de licență.
  2. Lăsați calea de destinație ca implicită (C:Program Filesnodejs) dacă nu aveți un motiv specific pentru a o schimba.
  3. Pe ecranul Custom Setup, asigurați-vă că toate componentele următoare sunt bifate:
  • Runtime Node.js
  • Manager de pachete npm
  • Adăugare la PATH (aceasta este cea mai importantă casetă de selectare — dacă nu este bifată, niciun terminal nu va recunoaște node sau npm)
  • Comenzi rapide pentru documentație online (opțional)
  1. Pe ecranul Tools for Native Modules, bifați „Instalați automat instrumentele necesare” dacă anticipați utilizarea unor pachete npm care necesită compilare nativă (node-gyp, bcrypt, sharp etc.). Aceasta instalează silențios Chocolatey, Python și Visual Studio Build Tools.
  2. Finalizați instalarea și reporniți sesiunea de terminal (sau întreaga sesiune RDP dacă modificările PATH nu sunt reflectate imediat).

1.3 Verificați instalarea

Deschideți o nouă fereastră PowerShell sau Command Prompt (nu una care era deschisă înainte de instalare — nu va avea PATH-ul actualizat) și rulați:

node -v
npm -v

Ambele comenzi trebuie să returneze șiruri de versiune. Dacă oricare returnează 'node' is not recognized as an internal or external command, PATH-ul nu a fost setat corect. Consultați secțiunea de depanare de mai jos.

Exemplu de output așteptat:

v20.14.0
10.7.0

1.4 Configurați directorul de pachete globale al npm (Opțional, dar recomandat)

În mod implicit, npm instalează pachetele globale în C:Users<username>AppDataRoamingnpm. Într-un mediu Windows Server partajat sau cu mai mulți utilizatori, aceasta poate cauza conflicte de permisiuni. Pentru a seta un director global personalizat:

npm config set prefix "C:npm-global"

Apoi adăugați C:npm-global la PATH-ul sistemului prin Proprietăți sistem > Variabile de mediu > Variabile de sistem > Path.

Pasul 2: Scaffolding-ul unei aplicații React

2.1 Abordarea modernă: Vite (Recomandat față de Create React App)

Articolul original recomandă create-react-app (CRA). Aceasta este o recomandare depășită. CRA a fost oficial depreciat la începutul anului 2023 și nu mai este întreținut de echipa de bază React. Documentația React în sine nu îl mai recomandă pentru proiecte noi.

Instrumentele de scaffolding recomandate în prezent sunt:

InstrumentSistem de buildViteza serverului de dezvoltareOutput bundleCel mai bun pentru
**Vite**Rollup (ESM-nativ)Extrem de rapid (HMR în milisecunde)Module ES optimizateProiecte noi, SPA-uri, browsere moderne
**Create React App**Webpack 4Lent pentru proiecte mariBundle CommonJSDoar proiecte legacy
**Next.js**Turbopack / WebpackRapidSSR + staticReact full-stack, aplicații critice pentru SEO
**Remix**esbuildRapidRandat pe serverAplicații cu date intensive, formulare intensive
**Parcel**Bundler ParcelRapid, zero-configȚinte multiplePrototipare, proiecte mici

Pentru un SPA simplu pe un VPS Windows, Vite este alegerea corectă în 2024 și ulterior.

2.2 Creați un nou proiect React cu Vite

Deschideți PowerShell și navigați la directorul dvs. de proiecte:

cd C:Projects

Creați un nou proiect React prin scaffolding:

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

Pentru a utiliza TypeScript (recomandat cu tărie pentru orice proiect non-trivial):

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

Navigați în directorul proiectului și instalați dependențele:

cd my-react-app
npm install

2.3 Dacă trebuie să utilizați Create React App (Proiecte legacy)

Dacă întrețineți o bază de cod legacy care necesită CRA, utilizați npx pentru a-l rula fără o instalare globală:

npx create-react-app my-react-app

Nu rulați npm install -g create-react-app. Abordarea instalării globale este depreciată și va prelua o versiune veche din cache. Utilizarea npx preia întotdeauna cea mai recentă versiune disponibilă din registru.

Pasul 3: Rulați serverul de dezvoltare

3.1 Porniți serverul de dezvoltare

Pentru un proiect bazat pe Vite:

npm run dev

Pentru un proiect bazat pe CRA:

npm start

Ambele comenzi pornesc un server de dezvoltare local. Vite utilizează implicit http://localhost:5173; CRA utilizează implicit http://localhost:3000.

3.2 Expuneți serverul de dezvoltare pe un VPS Windows (Acces de la distanță)

Pe o mașină locală, serverul de dezvoltare este accesibil doar din localhost. Pe un VPS, de obicei doriți să îl accesați din browserul local prin internet. Sunt necesare două modificări:

Legați serverul la toate interfețele de rețea:

Pentru Vite, editați vite.config.js (sau 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,
  },
})

Pentru CRA, setați variabila de mediu HOST înainte de pornire:

set HOST=0.0.0.0
npm start

Deschideți portul în Windows Firewall:

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

După aceasta, puteți accesa serverul de dezvoltare la http://<your-vps-ip>:5173 din orice browser.

Avertisment de securitate: Nu expuneți niciodată un server de dezvoltare pe internetul public pe un VPS de producție fără autentificare. Utilizați un reverse proxy (Nginx sau IIS cu URL Rewrite) sau un tunel VPN pentru orice mediu care gestionează date reale.

Pasul 4: Structura proiectului și fișierele cheie

Înțelegerea structurii create prin scaffolding previne confuzia când începeți să modificați fișierele:

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)

Fișierul src/main.jsx este punctul de intrare al aplicației. Apelează ReactDOM.createRoot() pentru a monta componenta rădăcină în div-ul #root din index.html. Fiecare componentă pe care o construiți va fi în cele din urmă importată în acest arbore.

Pasul 5: Build pentru producție

Când aplicația este pregătită pentru implementare, generați un build static optimizat:

npm run build

Această comandă invocă bundler-ul bazat pe Rollup al Vite (sau Webpack pentru CRA), care:

  • Transpilează JSX și JavaScript modern în ES5/ES2015+ compatibil cu browserul
  • Elimină codul neutilizat din bundle prin tree-shaking
  • Minifică JavaScript, CSS și HTML
  • Generează nume de fișiere cu hash de conținut pentru cache-ul pe termen lung al browserului
  • Generează totul în directorul dist/ (Vite) sau directorul build/ (CRA)

Pentru a previzualiza build-ul de producție local înainte de implementare:

npm run preview

Conținutul directorului dist/ sunt fișiere pur statice (HTML, JS, CSS, active). Pot fi servite de orice server web — IIS pe Windows Server, Nginx, Apache sau un serviciu de hosting static.

Implementarea build-ului în IIS pe Windows Server

Dacă VPS-ul dvs. rulează IIS, configurați un nou site care indică spre folderul dist/. Deoarece SPA-urile React utilizează rutare pe partea clientului, trebuie să adăugați o regulă URL Rewrite pentru a redirecționa toate erorile 404 înapoi la 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>

Fără această regulă, orice navigare directă la o rută precum /dashboard va returna un 404 de la IIS în loc să încarce aplicația React.

Dacă serviți frontend-ul React alături de un API backend și aveți nevoie de un mediu de panou de control gestionat, un VPS cu cPanel poate simplifica configurarea gazdelor virtuale și terminarea SSL.

Pasul 6: Securizați aplicația cu HTTPS

O aplicație React de producție trebuie servită prin HTTPS. Browserele blochează cererile cu conținut mixt, iar multe API-uri de browser (service workers, geolocalizare, clipboard) sunt restricționate la contexte securizate.

Pentru o implementare găzduită pe VPS:

  1. Obțineți un certificat SSL pentru domeniul dvs. AlexHost oferă Certificate SSL care pot fi instalate direct pe VPS-ul dvs.
  2. Configurați IIS sau reverse proxy-ul dvs. pentru a termina TLS pe portul 443 și a redirecționa HTTP (portul 80) către HTTPS.
  3. Setați variabila de mediu HTTPS la true dacă utilizați serverul integrat al CRA pentru testarea HTTPS locală.

Dacă nu aveți încă un domeniu îndreptat spre VPS-ul dvs., înregistrați unul mai întâi prin Înregistrare Domenii și configurați înregistrarea DNS A pentru a indica spre adresa IP a VPS-ului dvs.

Pasul 7: Depanarea problemelor comune

node sau npm nerecunoscut

Aceasta înseamnă că directorul de instalare Node.js nu se află în PATH al sistemului. Remediați-l manual:

  1. Apăsați Win + R, tastați sysdm.cpl, apăsați Enter.
  2. Mergeți la Avansat > Variabile de mediu.
  3. Sub Variabile de sistem, găsiți Path și faceți clic pe Editare.
  4. Adăugați C:Program Filesnodejs ca o nouă intrare.
  5. Faceți clic pe OK în toate dialogurile, apoi deschideți o nouă fereastră de terminal.

Erori EACCES sau Permisiune refuzată în timpul instalării npm

Pe Windows Server, aceasta apare de obicei când se rulează npm ca utilizator restricționat. Fie rulați PowerShell ca Administrator, fie configurați directoarele de cache și globale ale npm la o cale deținută de utilizatorul curent:

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

Portul este deja în uz

Dacă portul 5173 sau 3000 este ocupat de un alt proces:

netstat -ano | findstr :5173

Identificați PID-ul în ultima coloană, apoi:

taskkill /PID <PID> /F

Alternativ, schimbați portul în vite.config.js sau transmiteți --port ca flag:

npm run dev -- --port 3001

npm ERR! code EINTEGRITY (Nepotrivire checksum)

Aceasta indică un cache npm corupt. Ștergeți-l și reîncercați:

npm cache clean --force
npm install

npm install lent la prima rulare

Instalarea inițială a dependențelor pentru un proiect React poate dura 2–5 minute în funcție de debitul rețelei VPS și I/O-ul discului. Dacă expiră în mod constant, verificați dacă VPS-ul are acces de ieșire la registry.npmjs.org pe portul 443. Unele politici de firewall ale centrelor de date blochează acest lucru în mod implicit.

Matrice de decizie: Alegerea configurației React potrivite pentru VPS-ul dvs.

ScenariuScaffolding recomandatServiți cuNote
SPA nou, ținte browsere moderneVite + ReactIIS / Nginx reverse proxyCele mai rapide timpi de build, cea mai bună DX
Întreținere proiect CRA legacyCRA (prin npx)IIS / server de fișiere staticeNu migrați dacă nu este necesar
Site public critic pentru SEONext.jsProces Node.js (PM2)SSR necesar pentru indexarea crawlerelor
Dashboard intern, fără nevoie de SEOVite + ReactSite static IISNu este nevoie de overhead SSR
React full-stack + API pe același VPSNext.js sau RemixPM2 + IIS reverse proxyRutele API gestionate pe server
Implementare de producție cu trafic ridicatBuild Vite + CDNEdge CDN + origine VPSDescărcați activele statice pe CDN

Listă de verificare cu concluzii practice

  • Instalați versiunea LTS a Node.js folosind programul de instalare .msi, nu arhiva .zip, pentru a asigura înregistrarea automată a PATH.
  • Utilizați npx create vite@latest pentru toate proiectele React noi — CRA este depreciat și nu trebuie utilizat pentru dezvoltarea greenfield.
  • Pe un VPS, setați host: '0.0.0.0' în vite.config.js și deschideți portul corespunzător în firewall pentru a accesa serverul de dezvoltare de la distanță.
  • Adăugați o regulă IIS URL Rewrite pentru a redirecționa toate cererile care nu sunt fișiere sau directoare către index.html — fără aceasta, rutarea pe partea clientului se defectează la accesul direct prin URL.
  • Serviți întotdeauna build-urile de producție prin HTTPS; obțineți și instalați un certificat SSL înainte de a lansa în producție.
  • Rulați npm run build și inspectați output-ul dist/ înainte de implementare — verificați dimensiunile bundle-ului folosind npm run build -- --report sau vite-bundle-visualizer.
  • Nu comiteți niciodată node_modules/ în controlul versiunilor; adăugați-l întotdeauna în .gitignore.
  • Dacă sunt necesare mai multe versiuni Node pentru diferite proiecte, instalați nvm-windows pentru a le gestiona fără a reinstala Node.js global.

Întrebări frecvente

React.js trebuie „instalat” pe un server sau doar output-ul build-ului?

React în sine este o dependență de build-time. Output-ul de producție al npm run build este HTML, CSS și JavaScript simplu — nu este necesar niciun runtime Node.js pe server pentru a-l servi. Node.js este necesar doar pe mașina unde rulați procesul de build.

Care este diferența dintre npm run dev și npm run build?

npm run dev pornește un server de dezvoltare cu înlocuire de module la cald (HMR) și hărți sursă neminificate — nu este optimizat pentru performanță și nu trebuie utilizat niciodată pentru a servi trafic de producție. npm run build produce un bundle static minificat, cu tree-shaking și hash de conținut, destinat implementării.

De ce este depreciat Create React App și ce ar trebui să folosesc în schimb?

CRA se bazează pe Webpack 4, care are timpi de build și HMR semnificativ mai lenți comparativ cu serverul de dezvoltare ESM-nativ al Vite. Echipa React a eliminat oficial CRA din documentația lor în 2023 și recomandă acum Vite pentru SPA-uri, Next.js pentru aplicații full-stack și Remix pentru aplicații cu date intensive.

Pot rula mai multe proiecte React pe același VPS Windows simultan?

Da. Fiecare proiect rulează serverul de dezvoltare pe un port diferit. Configurați vite.config.js al fiecărui proiect cu o valoare port unică, deschideți fiecare port în Windows Firewall și configurați opțional IIS ca reverse proxy pentru a direcționa subdomeniile sau căile către portul corespunzător.

Cum mențin serverul de dezvoltare React activ după ce închid sesiunea RDP?

Utilizați un manager de procese. Instalați PM2 global (npm install -g pm2) și porniți serverul de dezvoltare ca proces gestionat: pm2 start npm --name "react-dev" -- run dev. PM2 menține procesul activ independent de sesiunea de terminal și poate fi configurat să repornească la repornirea sistemului.

15%

Economisește 15% la toate serviciile de găzduire

Testează-ți abilitățile și obține Reducere la orice plan de găzduire

Utilizați codul:

Skills
Începeți