Cum se configurează gazdele virtuale în Nginx pe Ubuntu
Configurarea gazdelor virtuale în Nginx vă permite să găzduiți mai multe site-uri web pe un singur server, fiecare site web având propriul nume de domeniu. Gazdele virtuale Nginx sunt configurate utilizând “blocuri de server” care definesc setările pentru fiecare site web. Acest ghid vă va ghida prin configurarea de gazde virtuale pe un server Ubuntu cu Nginx.
1. Condiții prealabile
- Nginx instalat: Asigurați-vă că Nginx este instalat pe serverul dvs. Dacă nu, instalați-l cu:
sudo apt update
sudo apt install nginx
- Nume de domenii: Asigurați-vă că numele de domeniu pe care doriți să le găzduiți sunt direcționate către adresa IP a serverului dvs. Vă puteți modifica fișierul /etc/hosts în scopuri de testare.
2. Configurați directoare pentru fiecare site web
Fiecare site web trebuie să aibă propriul director pentru stocarea fișierelor site-ului. Să creăm directoare pentru două site-uri web de exemplu, example1.com și example2.com.
sudo mkdir -p /var/www/example1.com/html
sudo mkdir -p /var/www/example2.com/html
Acordați dreptul de proprietate asupra acestor directoare utilizatorului Nginx (www-data) pentru a vă asigura că Nginx are permisiunile necesare.
sudo chown -R www-data:www-data /var/www/example1.com/html
sudo chown -R www-data:www-data /var/www/example2.com/html
Setați permisiunile corespunzătoare:
sudo chmod -R 755 /var/www
3. Crearea conținutului de probă
Pentru a testa gazdele virtuale, adăugați fișiere HTML de probă pentru fiecare site.
Example1.com:
echo "<h1>Welcome to Example1.com!</h1>" | sudo tee /var/www/example1.com/html/index.html
Example2.com:
echo "<h1>Welcome to Example2.com!</h1>" | sudo tee /var/www/example2.com/html/index.html
4. Crearea fișierelor de configurare a gazdei virtuale
Acum, vom crea un fișier de configurare a blocului de server (gazdă virtuală) pentru fiecare site web. Nginx stochează aceste fișiere de configurare în directorul /etc/nginx/sites-available/.
Pasul 1: Crearea configurației pentru Example1.com
Creați un nou fișier de configurare pentru example1.com:
sudo nano /etc/nginx/sites-available/example1.com
Adăugați următoarea configurație:
server {
listen 80;
server_name example1.com www.example1.com;
root /var/www/example1.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Pasul 2: Crearea configurației pentru Example2.com
Creați un fișier de configurare pentru example2.com:
sudo nano /etc/nginx/sites-available/example2.com
Adăugați următoarea configurație:
server {
listen 80;
server_name example2.com www.example2.com;
root /var/www/example2.com/html;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
5. Activați gazdele virtuale
Nginx utilizează legături simbolice pentru a activa gazdele virtuale. Legați fișierele de configurare de la sites-available la sites-enabled:
sudo ln -s /etc/nginx/sites-available/example1.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/example2.com /etc/nginx/sites-enabled/
6. Testați configurația
Pentru a vă asigura că nu există erori de sintaxă în configurație, executați:
sudo nginx -t
Dacă totul este corect, veți vedea un mesaj de confirmare. Dacă există erori, Nginx va afișa detalii pentru a vă ajuta să rezolvați problemele.
7. Reporniți Nginx
După confirmarea configurației, reporniți Nginx pentru a aplica modificările:
sudo systemctl restart nginx
8. Accesați site-urile web
Dacă numele de domeniu sunt direcționate către serverul dvs., acum ar trebui să puteți accesa fiecare site prin accesarea:
- http://example1.com
- http://example2.com
Pentru testarea locală, puteți edita fișierul /etc/hosts pentru a corela numele de domeniu cu adresa IP a serverului dvs. Adăugați intrări de genul:
127.0.0.1 example1.com 127.0.0.1 example2.com
Salvați și închideți fișierul, apoi încercați să accesați site-urile în browserul dvs.
9. Activarea HTTPS pentru fiecare site (opțional)
Pentru conexiuni securizate, puteți configura certificate SSL utilizând Let’s Encrypt. Pentru a activa HTTPS:
Instalați certbot:
sudo apt install certbot python3-certbot-nginx
Rulați următoarea comandă pentru a obține și configura certificatele SSL pentru fiecare domeniu:
sudo certbot --nginx -d example1.com -d www.example1.com
sudo certbot --nginx -d example2.com -d www.example2.com
Urmați instrucțiunile, iar Certbot va configura automat HTTPS în configurația Nginx.
Concluzii
Prin configurarea de gazde virtuale în Nginx pe Ubuntu, puteți găzdui mai multe site-uri web pe un singur server, fiecare cu propria sa configurație și conținut. Această configurare este eficientă și scalabilă, făcând din Nginx o alegere excelentă pentru găzduirea mai multor site-uri pe același server.