// ssd vps

Cum instalezi și configurezi Nginx pe un VPS Linux: ghid complet pentru un web server performant

September 16, 2026 · by Alex M.

Cum instalezi și configurezi Nginx pe un VPS Linux: ghid complet pentru un web server performant

Nginx a devenit, în ultimii ani, unul dintre cele mai populare servere web din lume — și nu întâmplător. Consumul redus de memorie, capacitatea de a gestiona mii de conexiuni simultane și flexibilitatea în configurare îl fac alegerea ideală pentru orice VPS SSD sau VPS NVMe. În acest ghid vei parcurge, pas cu pas, tot procesul: de la instalare până la configurarea virtual host-urilor cu HTTPS și optimizarea performanței.

Ce este Nginx și de ce să-l folosești?

Nginx (pronunțat „engine-x") este un server web open-source creat inițial de Igor Sysoev în 2004. Spre deosebire de Apache, care creează câte un thread sau proces nou pentru fiecare conexiune, Nginx folosește o arhitectură bazată pe evenimente — ceea ce îl face extrem de eficient la trafic ridicat.

Avantaje principale:
- Performanță excelentă la trafic concurent ridicat
- Consum redus de RAM și CPU
- Funcționare nativă ca reverse proxy, load balancer și cache HTTP
- Configurare flexibilă și sintaxă clară
- Suport activ și comunitate mare

Dacă ai un VPS cu resurse dedicate și vrei să rulezi aplicații PHP, Node.js, Python sau să servești fișiere statice cu viteză maximă, Nginx este alegerea potrivită.

Cerințe preliminare

Înainte de a începe, asigură-te că ai:
- Un VPS cu Ubuntu 22.04 / Debian 12 (ghidul este compatibil cu ambele)
- Acces root sau utilizator cu privilegii sudo
- Un domeniu configurat să pointeze la IP-ul serverului (pentru configurarea HTTPS)
- Porturile 80 și 443 deschise în firewall

Dacă nu ai încă un server, poți comanda rapid un VPS NVMe de la CLIQHOST cu Ubuntu preinstalat și acces SSH imediat.

Pasul 1: Actualizarea sistemului și instalarea Nginx

Primul pas este întotdeauna actualizarea listei de pachete:

sudo apt update && sudo apt upgrade -y

Installează Nginx:

sudo apt install nginx -y

Verifică statusul serviciului:

sudo systemctl status nginx

Ar trebui să vezi active (running). Dacă nu, pornește serviciul manual:

sudo systemctl start nginx
sudo systemctl enable nginx

Verifică versiunea instalată:

nginx -v

Accesează http://IP_SERVER din browser — vei vedea pagina implicită Nginx care confirmă că instalarea a reușit.

Pasul 2: Structura fișierelor de configurare Nginx

Înainte de orice modificare, înțelegerea structurii de directoare este esențială:

/etc/nginx/
├── nginx.conf          # Configurare globală
├── sites-available/    # Configurări disponibile pentru virtual hosts
├── sites-enabled/      # Linkuri simbolice către configurările active
├── conf.d/             # Configurări suplimentare
├── snippets/           # Fragmente de configurare reutilizabile
└── modules-enabled/    # Module încărcate

Fișierul principal /etc/nginx/nginx.conf conține directivele globale. Nu îl modifica direct pentru virtual host-uri — creează fișiere separate în sites-available/.

Pasul 3: Configurarea unui Virtual Host (Server Block)

Un „server block" în Nginx este echivalentul VirtualHost din Apache. Permite servirea mai multor site-uri de pe același server.

Creează un director pentru site-ul tău:

sudo mkdir -p /var/www/exemplu.com/html
sudo chown -R $USER:$USER /var/www/exemplu.com/html
sudo chmod -R 755 /var/www/exemplu.com

Creează o pagină de test:

nano /var/www/exemplu.com/html/index.html
<!DOCTYPE html>
<html lang="ro">
<head>
    <meta charset="UTF-8">
    <title>Bine ai venit pe exemplu.com!</title>
</head>
<body>
    <h1>Nginx funcționează corect!</h1>
</body>
</html>

Creează fișierul de configurare al site-ului:

sudo nano /etc/nginx/sites-available/exemplu.com
server {
    listen 80;
    listen [::]:80;

    server_name exemplu.com www.exemplu.com;
    root /var/www/exemplu.com/html;
    index index.html index.htm index.php;

    location / {
        try_files $uri $uri/ =404;
    }

    # Loguri dedicate per site
    access_log /var/log/nginx/exemplu.com.access.log;
    error_log  /var/log/nginx/exemplu.com.error.log;
}

Activează site-ul prin crearea unui link simbolic:

sudo ln -s /etc/nginx/sites-available/exemplu.com /etc/nginx/sites-enabled/

Verifică sintaxa configurării:

sudo nginx -t

Dacă totul este OK, reîncarcă Nginx:

sudo systemctl reload nginx

Pasul 4: Configurarea HTTPS cu Let's Encrypt (Certbot)

În 2025, un site fără HTTPS este inacceptabil atât din punct de vedere SEO cât și al securității. Certbot automatizează complet obținerea și reînnoirea certificatelor SSL gratuite de la Let's Encrypt.

Instalează Certbot și plugin-ul pentru Nginx:

sudo apt install certbot python3-certbot-nginx -y

Obtine certificatul SSL:

sudo certbot --nginx -d exemplu.com -d www.exemplu.com

Certbot va cere o adresă de email și va modifica automat configurarea Nginx pentru a activa HTTPS și redirectarea automată de la HTTP la HTTPS.

Verifică reînnoirea automată:

sudo systemctl status certbot.timer

Poți testa reînnoirea fără a emite un certificat real:

sudo certbot renew --dry-run

Dacă preferi un certificat comercial cu validare OV sau EV, CLIQHOST oferă o gamă completă de certificate SSL potrivite pentru magazine online și aplicații business.

Pasul 5: Configurarea Nginx pentru aplicații PHP (PHP-FPM)

Nginx nu procesează PHP nativ — are nevoie de PHP-FPM (FastCGI Process Manager). Iată cum configurezi stiva:

Instalează PHP-FPM:

sudo apt install php8.2-fpm php8.2-mysql php8.2-curl php8.2-gd php8.2-mbstring php8.2-xml -y

Modifică server block-ul pentru a procesa fișierele PHP:

server {
    listen 80;
    server_name exemplu.com www.exemplu.com;
    root /var/www/exemplu.com/html;
    index index.php index.html;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        include snippets/fastcgi-php.conf;
        fastcgi_pass unix:/run/php/php8.2-fpm.sock;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
        include fastcgi_params;
    }

    location ~ /\.ht {
        deny all;
    }
}

Această configurare este ideală pentru WordPress, Joomla sau orice aplicație PHP. Dacă preferi o soluție mai simplă pentru WordPress, explorează opțiunile noastre de shared hosting WordPress cu Nginx preconfligurat.

Pasul 6: Optimizarea performanței Nginx

Configurations implicite Nginx sunt bune, dar le poți îmbunătăți semnificativ pentru un VPS dedicat.

Ajustarea worker processes și connections

Deschide /etc/nginx/nginx.conf și modifică:

worker_processes auto;  # Detectează automat numărul de CPU-uri

events {
    worker_connections 1024;  # Conexiuni per worker (mărește la 2048+ pe servere cu trafic ridicat)
    use epoll;                # Cel mai eficient multiplexer I/O pe Linux
    multi_accept on;          # Acceptă mai multe conexiuni simultane
}

Activarea compresiei Gzip

http {
    gzip on;
    gzip_vary on;
    gzip_proxied any;
    gzip_comp_level 6;
    gzip_min_length 1000;
    gzip_types
        text/plain
        text/css
        text/javascript
        application/json
        application/javascript
        application/xml
        image/svg+xml;
}

Cache pentru fișiere statice

location ~* \.(jpg|jpeg|png|gif|ico|css|js|woff2|svg)$ {
    expires 30d;
    add_header Cache-Control "public, no-transform";
    access_log off;
}

Limitarea dimensiunii request-urilor (securitate)

client_max_body_size 20M;  # Limita upload
client_body_timeout 12;
client_header_timeout 12;
keepalive_timeout 15;
send_timeout 10;

Pasul 7: Securizarea Nginx

Un server web expus pe internet necesită măsuri de securitate suplimentare.

Ascunderea versiunii Nginx

În nginx.conf, în blocul http {}:

server_tokens off;

Header-e de securitate HTTP

Adaugă în server block:

add_header X-Frame-Options "SAMEORIGIN" always;
add_header X-XSS-Protection "1; mode=block" always;
add_header X-Content-Type-Options "nosniff" always;
add_header Referrer-Policy "no-referrer-when-downgrade" always;
add_header Strict-Transport-Security "max-age=31536000; includeSubDomains" always;

Blocarea accesului la fișiere sensibile

# Blochează accesul la fișiere ascunse (.htaccess, .env etc.)
location ~ /\. {
    deny all;
    return 404;
}

# Blochează accesul direct la fișierele de configurare
location ~* \.(conf|log|bak|sql|zip)$ {
    deny all;
    return 404;
}

Limitarea ratei de request-uri (Rate Limiting)

Protejează endpoint-urile de login față de atacuri brute-force:

http {
    limit_req_zone $binary_remote_addr zone=login:10m rate=5r/m;
}

server {
    location /wp-login.php {
        limit_req zone=login burst=3 nodelay;
    }
}

Pasul 8: Comenzi esențiale pentru administrarea zilnică

# Testează configurarea fără restart
sudo nginx -t

# Reîncarcă configurarea (fără downtime)
sudo systemctl reload nginx

# Repornește complet serviciul
sudo systemctl restart nginx

# Vizualizează logurile în timp real
sudo tail -f /var/log/nginx/error.log
sudo tail -f /var/log/nginx/access.log

# Verifică ce porturi ascultă Nginx
sudo ss -tlnp | grep nginx

# Listează site-urile active
ls -la /etc/nginx/sites-enabled/

Pasul 9: Nginx ca Reverse Proxy

Una dintre cele mai comune utilizări ale Nginx pe un VPS este ca reverse proxy — redirecționează request-urile HTTP către o aplicație care rulează local (Node.js, Python, Go etc.).

server {
    listen 80;
    server_name app.exemplu.com;

    location / {
        proxy_pass http://127.0.0.1:3000;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection 'upgrade';
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_cache_bypass $http_upgrade;
    }
}

Această configurare este esențială dacă rulezi aplicații containerizate. Poți citi mai multe despre combinarea Nginx cu Docker în blogul CLIQHOST.

Depanare rapidă: cele mai frecvente erori

Eroare Cauza probabilă Soluție
502 Bad Gateway PHP-FPM nu rulează sudo systemctl restart php8.2-fpm
403 Forbidden Permisiuni greșite pe fișiere sudo chmod -R 755 /var/www/site/
nginx: [emerg] bind() to 0.0.0.0:80 failed Portul 80 ocupat de alt proces sudo lsof -i :80 și oprește procesul
504 Gateway Timeout Aplicația backend nu răspunde la timp Mărește proxy_read_timeout
Configurare nu se aplică Ai uitat nginx -t și reload Testează și reîncarcă întotdeauna

Concluzie

Nginx este un server web de producție robust, eficient și flexibil — potrivit atât pentru site-uri mici, cât și pentru aplicații enterprise la trafic ridicat. Cu configurările din acest ghid, ai o bază solidă: virtual host-uri multiple, HTTPS automat, suport PHP, securitate de bază și optimizare a performanței.

Pentru rezultate optime, Nginx strălucește cel mai tare pe infrastructură SSD sau NVMe. Dacă vrei să beneficiezi de viteză maximă fără bătăi de cap cu administrarea serverului, echipa CLIQHOST oferă atât VPS SSD și VPS NVMe cu acces root complet, cât și servicii de administrare server dacă preferi să te ocupi doar de aplicația ta.

Ai întrebări sau ai nevoie de asistență pentru configurarea serverului tău? Contactează echipa CLIQHOST — suntem aici să te ajutăm.

SHARE
// ce spun clienții

Ce spun clienții noștri

Recenzii reale de la clienți care au ales CLIQHOST pentru performanță, fiabilitate și suport tehnic.

★★★★★

"Am mutat magazinul online de pe un host din străinătate și diferența e uriașă — paginile se încarcă instant, iar suportul răspunde în minute, în română."

AM
Andrei M.
Proprietar eCommerce · Chișinău
★★★★★

"Am migrat 12 site-uri de clienți la CLIQHOST. Migrare gratuită, zero downtime, iar setup-ul cPanel e exact ce avea nevoie echipa mea. Recomand cu încredere."

EV
Elena V.
Agenție web · Bălți
★★★★★

"VPS-ul nostru NVMe face față spike-urilor de trafic fără probleme. Full root, datacenter local și facturare în MDL — tot ce voiam de la un provider."

DC
Dmitri C.
Fondator SaaS · Chișinău