Zuerst erstelle separate Verzeichnisse für jede Domain, um ihre Inhalte zu hosten. Zum Beispiel:
sudo mkdir -p /var/www/a.com
sudo mkdir -p /var/www/b.com
sudo mkdir -p /var/www/c.com
Stelle sicher, dass der Webserver Zugriff auf diese Verzeichnisse hat:
sudo chown -R www-data:www-data /var/www/a.com
sudo chown -R www-data:www-data /var/www/b.com
sudo chown -R www-data:www-data /var/www/c.com
Erstelle separate Konfigurationsdateien für jede Domain. Normalerweise werden diese Dateien im Verzeichnis /etc/nginx/sites-available/ gespeichert. Zum Beispiel:
sudo nano /etc/nginx/sites-available/a.com
sudo nano /etc/nginx/sites-available/b.com
sudo nano /etc/nginx/sites-available/c.com
Füge den folgenden Konfigurationsblock in jede der Konfigurationsdateien ein (ersetze a.com, b.com usw. durch die tatsächlichen Domainnamen):
server {
listen 80;
server_name a.com www.a.com;
root /var/www/a.com;
index index.html;
location / {
try_files $uri $uri/ =404;
}
}
Stelle sicher, dass du die Domainnamen, Verzeichnisse und andere Konfigurationsdetails entsprechend anpasst.
Erstelle Symlinks von den Konfigurationsdateien im Verzeichnis sites-available zum Verzeichnis sites-enabled, um die Konfigurationen zu aktivieren:
sudo ln -s /etc/nginx/sites-available/a.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/b.com /etc/nginx/sites-enabled/
sudo ln -s /etc/nginx/sites-available/c.com /etc/nginx/sites-enabled/
Überprüfe die Nginx-Konfiguration auf Syntaxfehler und lade dann die Konfiguration neu:
sudo nginx -t
sudo systemctl reload nginx
Jetzt sollten die Domains a.com, b.com und c.com auf ihre jeweiligen Verzeichnisse zeigen und nur die Inhalte aus diesen Verzeichnissen anzeigen.