0 Pluspunkte 0 Minuspunkte

Wie kann ich auf einem NginX Webserver auf Ubuntu18.04 mehrere Domains hosten? Ich habe 3 Domains konfiguriert (Beispiel):

a.com    A    <meine ip>
b.com    A    <meine ip>
c.com    A    <meine ip>

Wie kann ich machen das jede Domain ein eigenes Verzeichnis auf dem Server hat und die jeweilige Domain auch nur die Inhalte aus dem Verzeichnis anzeigt?

von  

1 Antwort

0 Pluspunkte 0 Minuspunkte

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.

von