> For the complete documentation index, see [llms.txt](https://docs.ititanhosting.ro/docs/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ititanhosting.ro/docs/romana/vps/windows/cum-instalezi-nodejs-pe-windows-server.md).

# Cum instalezi Node.js pe Windows Server

Node.js aduce JavaScript pe partea de server. Este baza pentru multe aplicatii web moderne, servere API si unelte de dezvoltare. Instalarea pe Windows Server este simpla.

### Pasul 1: Descarca installer-ul

1. Deschide browserul pe VPS
2. Mergi la [nodejs.org](https://nodejs.org)
3. Descarca versiunea **LTS** (cea cu eticheta de suport pe termen lung)

### Pasul 2: Ruleaza installer-ul

1. Double-click pe fisierul `.msi` descarcat
2. Accepta acordul de licenta
3. Pastreaza calea implicita de instalare (`C:\Program Files\nodejs\`)
4. La ecranul **Custom Setup**, asigura-te ca **npm package manager** este bifat
5. Bifeaza **Automatically install the necessary tools** (asta adauga Chocolatey si Python pentru module native)
6. Apasa **Install**

### Pasul 3: Verifica instalarea

Deschide un Command Prompt sau PowerShell nou:

```powershell
node --version
npm --version
```

Ar trebui sa vezi numere de versiune pentru ambele.

### Pasul 4: Creaza un proiect de test

```powershell
mkdir C:\myapp
cd C:\myapp
npm init -y
```

Acum creaza un server web simplu. Creaza un fisier numit `server.js`:

```javascript
const http = require('http');

const server = http.createServer((req, res) => {
  res.writeHead(200, { 'Content-Type': 'text/plain' });
  res.end('ITITAN Hosting Windows VPS care ruleaza Node.js!\n');
});

server.listen(3000, () => {
  console.log('Serverul ruleaza pe portul 3000');
});
```

Ruleaza-l:

```powershell
node server.js
```

Deschide browserul si mergi la `http://localhost:3000`. Ar trebui sa vezi mesajul.

### Pasul 5: Deschide portul in firewall

Pentru a accesa aplicatia Node.js din afara VPS-ului, deschide portul 3000:

```powershell
netsh advfirewall firewall add rule name="Node.js App 3000" dir=in action=allow protocol=TCP localport=3000
```

Acum incearca sa accesezi `http://adresa-ip-server:3000` din browserul tau.

### Pasul 6: Mentine aplicatia pornita cu PM2

Aplicatiile Node.js se opresc cand inchizi terminalul. PM2 le mentine pornite si le reporneste daca se opresc.

Instaleaza PM2 global:

```powershell
npm install -g pm2
```

Porneste aplicatia cu PM2:

```powershell
pm2 start server.js --name myapp
```

Salveaza lista de procese pentru a reporni la reboot:

```powershell
pm2 save
```

### Pasul 7: Instaleaza Yarn (optional)

Unele proiecte folosesc Yarn in loc de npm:

```powershell
npm install -g yarn
yarn --version
```

### Gestionarea mai multor versiuni Node.js

Daca lucrezi la proiecte care necesita versiuni diferite de Node.js, foloseste `nvm-windows`:

1. Descarca installer-ul de pe [github.com/coreybutler/nvm-windows](https://github.com/coreybutler/nvm-windows)
2. Ruleaza installer-ul
3. Deschide un PowerShell nou ca Administrator

Instaleaza mai multe versiuni:

```powershell
nvm install 20.11.0
nvm install 22.0.0
```

Schimba intre ele:

```powershell
nvm use 20.11.0
nvm use 22.0.0
```

### Probleme comune

**"node nu este recunoscut"** Inchide si redeschide terminalul. Variabila PATH trebuie reimprospatata dupa instalare.

**Port deja in uz** Daca portul 3000 este deja folosit, foloseste un alt port sau opreste cealalta aplicatie:

```powershell
netstat -ano | findstr :3000
taskkill /PID <PID> /F
```

### Comenzi npm utile

| Comanda                 | Ce face                      |
| ----------------------- | ---------------------------- |
| `npm init -y`           | Creaza un package.json nou   |
| `npm install express`   | Instaleaza un pachet         |
| `npm install -g pm2`    | Instaleaza un pachet global  |
| `npm update`            | Actualizeaza toate pachetele |
| `npm outdated`          | Verifica pachetele invechite |
| `npm uninstall express` | Sterge un pachet             |

### Concluzie

Node.js este instalat si gata pe VPS-ul tau Windows. Poti rula acum aplicatii JavaScript, servere API si aplicatii web. Cu PM2 gestionand procesele, acestea vor ramane online chiar si dupa ce te deconectezi.
