Configurazione di base degli host virtuali
Configuri gli host virtuali (o i blocchi server) per ospitare più siti web su un singolo server utilizzando nomi di dominio diversi.
Configurazione di base degli host virtuali è una lezione Linux Server Deployment & SSH Mastery gratuita su CoddyKit. Questa è la lezione 3 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Linux Server Deployment & SSH Mastery, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Hosting di più siti web
Immagini di avere un unico server potente, ma di voler ospitare diversi siti web, ciascuno con il proprio nome di dominio (come myshop.com e myblog.com).
Come può un singolo server gestire tutto in modo efficiente senza richiedere una macchina separata per ogni sito?
Che cosa sono i Virtual Host?
È qui che entrano in gioco i Virtual Host (Apache) o i Server Block (Nginx)!
- Sono unità di configurazione che consentono a un singolo server web di ospitare più nomi di dominio.
- Ogni dominio può avere la propria document root (in cui si trovano i file), i propri log e impostazioni specifiche.
- Questo consente di risparmiare risorse e semplifica la gestione del server.
Configurazione dei Virtual Host di Apache
In Apache, le configurazioni dei Virtual Host vengono generalmente memorizzate in file .conf all'interno di directory specifiche:
/etc/apache2/sites-available/: contiene tutte le configurazioni dei Virtual Host disponibili./etc/apache2/sites-enabled/: contiene i collegamenti simbolici alle configurazioni attualmente attive.
Per abilitarli si utilizzano comandi come a2ensite.
Apache: host virtuale di base
Ecco una semplice configurazione di un host virtuale Apache. Questo file verrebbe creato in sites-available.
<VirtualHost *:80>
ServerAdmin webmaster@example.com
ServerName myfirstsite.com
ServerAlias www.myfirstsite.com
DocumentRoot /var/www/myfirstsite
ErrorLog ${APACHE_LOG_DIR}/error.log
CustomLog ${APACHE_LOG_DIR}/access.log combined
</VirtualHost>Apache: procedura di configurazione
Per configurare un host virtuale Apache per myfirstsite.com:
- Crei una directory per i file del Suo sito web.
- Crei il file di configurazione dell'host virtuale.
- Abiliti il sito e ricarichi Apache.
Vediamo i comandi per i primi due passaggi:
sudo mkdir -p /var/www/myfirstsite/html
sudo chown -R $USER:$USER /var/www/myfirstsite/html
sudo nano /etc/apache2/sites-available/myfirstsite.confApache: abilitazione e ricaricamento
Dopo aver creato e salvato il file .conf, utilizzi questi comandi per attivarlo e applicare le modifiche:
sudo a2ensite myfirstsite.conf: crea un collegamento simbolico insites-enabled.sudo apache2ctl configtest: verifica la presenza di errori di sintassi nella configurazione di Apache.sudo systemctl reload apache2: applica la nuova configurazione senza riavviare il server.
sudo a2ensite myfirstsite.conf
sudo apache2ctl configtest
sudo systemctl reload apache2Configurazione dei server block di Nginx
Nginx utilizza i Server Blocks, molto simili agli host virtuali di Apache. Anche questi adottano una struttura di directory analoga:
/etc/nginx/sites-available/: contiene tutte le configurazioni dei server block./etc/nginx/sites-enabled/: contiene i collegamenti simbolici ai server block attivi.
Invece di utilizzare un comando apposito, creiamo manualmente i collegamenti simbolici.
Nginx: server block di base
Ecco una configurazione di base di un server block Nginx per mysecondsite.com. Questo file verrebbe creato in sites-available.
server {
listen 80;
listen [::]:80;
root /var/www/mysecondsite/html;
index index.html index.htm;
server_name mysecondsite.com www.mysecondsite.com;
location / {
try_files $uri $uri/ =404;
}
}Nginx: procedura di configurazione
Per configurare un server block Nginx per mysecondsite.com:
- Crei una directory per i file del Suo sito web.
- Crei il file di configurazione del server block.
- Crei un collegamento simbolico e ricarichi Nginx.
Ecco i comandi per i primi due passaggi:
sudo mkdir -p /var/www/mysecondsite/html
sudo chown -R $USER:$USER /var/www/mysecondsite/html
sudo nano /etc/nginx/sites-available/mysecondsiteNginx: abilitazione e ricaricamento
Dopo aver creato e salvato il file del server block, utilizzi questi comandi per attivarlo e applicare le modifiche:
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/: crea il collegamento simbolico.sudo nginx -t: verifica la configurazione di Nginx per individuare errori di sintassi.sudo systemctl reload nginx: applica la nuova configurazione senza riavviare il server.
sudo ln -s /etc/nginx/sites-available/mysecondsite /etc/nginx/sites-enabled/
sudo nginx -t
sudo systemctl reload nginxVerifica degli host virtuali
Ha imparato a configurare i server web per ospitare più siti. Verifichiamo la Sua comprensione.
Riepilogo: più siti, un solo server
Ottimo lavoro! Ha imparato gli elementi essenziali della configurazione degli host virtuali (Apache) e dei server block (Nginx).
- Queste configurazioni consentono di ospitare in modo efficiente più siti web su un singolo server.
- Ora sa configurare impostazioni distinte per nomi di dominio diversi.
- Si tratta di una competenza fondamentale per l'amministrazione dei server web e la distribuzione di più applicazioni.
Domande Frequenti
La lezione «Configurazione di base degli host virtuali» è gratuita?
Sì — il testo completo di «Configurazione di base degli host virtuali» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Linux Server Deployment & SSH Mastery, passa a CoddyKit PRO. Il corso Linux Server Deployment & SSH Mastery include 4 lezioni in totale.
Cosa imparerò in «Configurazione di base degli host virtuali»?
Configuri gli host virtuali (o i blocchi server) per ospitare più siti web su un singolo server utilizzando nomi di dominio diversi. Eserciti Linux Server Deployment & SSH Mastery con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare Linux Server Deployment & SSH Mastery?
Non è richiesta alcuna esperienza precedente. Linux Server Deployment & SSH Mastery su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 3 di 4.
Quanto tempo richiede la lezione «Configurazione di base degli host virtuali»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione Linux Server Deployment & SSH Mastery?
Sì. Ogni lezione Linux Server Deployment & SSH Mastery include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Installazione di Nginx/Apache
- Hosting di siti web statici
- Configurazione di base degli host virtuali
- Abilitare HTTPS con Let's Encrypt