Dacă administrezi mai multe site-uri pe un singur server, Server Blocks (cunoscute și ca Virtual Hosts) sunt soluția elegantă. În acest ghid, vei învăța să configurezi blocuri server Nginx pe Rocky Linux 9 pentru a găzdui domenii multiple independent.


Cerințe Preliminare

  • Server Rocky Linux 9

  • Nginx instalat (sudo dnf install nginx)

  • Drepturi sudo

  • Nume de domeniu (ex: site1.rosite2.ro) configurat cu DNS


Pasul 1: Crearea Structurii de Directoare

Pentru fiecare site, creează un director dedicat:

sudo mkdir -p /var/www/site1.ro/html  
sudo mkdir -p /var/www/site2.ro/html  

Atribuie permisiuni corecte:

sudo chown -R nginx:nginx /var/www/site1.ro  
sudo chmod -R 755 /var/www  

Pasul 2: Pagini de Test pentru Site-uri

Generează conținut demonstrativ:

echo "Bun venit pe site1.ro!" | sudo tee /var/www/site1.ro/html/index.html  
echo "Acesta este site2.ro" | sudo tee /var/www/site2.ro/html/index.html  

Pasul 3: Configurare Server Blocks

  1. Creează fișier de configurare pentru primul site:

 
sudo nano /etc/nginx/conf.d/site1.ro.conf  
server {  
    listen 80;  
    listen [::]:80;  
    server_name site1.ro www.site1.ro;  
    root /var/www/site1.ro/html;  
    index index.html;  

    location / {  
        try_files $uri $uri/ =404;  
    }  
}  
  1. Repetă pentru al doilea site (site2.ro.conf) cu valorile corespunzătoare.


Pasul 4: Validare și Pornire

  1. Verifică sintaxa:

 
sudo nginx -t  # Trebuie să apară "test is successful"  
  1. Repornește Nginx:

 
sudo systemctl restart nginx  
  1. Activează la boot:

 
sudo systemctl enable nginx  

Pasul 5: Testare Locală via Hosts File (Opțional)

Pentru testare fără DNS, editează /etc/hosts:

sudo nano /etc/hosts  

Adaugă:

127.0.0.1 site1.ro  
127.0.0.1 site2.ro  

Accesează în browser: http://site1.ro


Pasul 6: Securizare cu HTTPS

  1. Instalează Certbot:

 
sudo dnf install certbot python3-certbot-nginx  
  1. Emite certificat:

 
sudo certbot --nginx -d site1.ro -d www.site1.ro  
  1. Configură reînnoire automată:

 
sudo certbot renew --dry-run  

Structura Cheie a Configurării

Componentă Cale Configurare
Fișiere site /var/www/<domeniu>/html
Configurații server blocks /etc/nginx/conf.d/
Loguri acces/erori /var/log/nginx/<domeniu>.log

Depanare Rapidă

  • Eroare 403 Forbidden: Verifică permisiunile (chown nginx:nginx /var/www/site1.ro)

  • Server_name necunoscut: Confirmă DNS sau fișierul /etc/hosts

  • Port 80 ocupat: Oprește alte servicii (sudo systemctl stop httpd)


De ce Server Blocks?

 Beneficii esențiale:

  • Găzduire nelimitată de domenii pe un singur IP

  • Izolare completă între site-uri (permisiuni, loguri)

  • Consum minim de resurse

Best practice:

Folosește server_names_hash_bucket_size 64; în /etc/nginx/nginx.conf pentru domenii lungi!

Răspunsul a fost util? 0 utilizatori au considerat informația utilă (0 Voturi)