nginx wie erstelle ich einen Serverblock für die Subdomain?

8

Ich habe eine Domain, http://blabla.comdie auf eine IP-Adresse verweist 103.35.123.4.12. Ich habe dann eine Subdomain, http://mew.blabla.comdie auf dieselbe IP-Adresse verweist. Wie kann ich mit nginx zwischen den beiden Domainnamen unterscheiden? Ich habe derzeit Folgendes:

server {
    listen 80;
    server_name blabla.com;

    location ^~ / {

    }
}

server {
    listen 80
    server_name mew.blabla.com;

    location ^~ /mew/ {

    }
}

Derzeit können sowohl blabla.com als auch mew.blabla.com in das Stammverzeichnis umleiten. Wie kann ich einen Serverblock für die Subdomain erstellen?

BEARBEITEN : Derzeit wird mew.blabla.com nicht als Subdomain erkannt. Ist dies ein Problem, wenn beide Domains dieselbe IP- Adresse verwenden ?

SK '
quelle
1
Nein, es ist kein Problem, wenn beide Domänen dieselbe IP verwenden. Sie haben keine rootKonfiguration (die Nginx mitteilt, von wo aus Dateien locationmew.blabla.com/mew/
bereitgestellt

Antworten:

10

Was Sie wahrscheinlich wollen, ist:

server {
    listen 80;
    server_name blabla.com;
    root /var/www/blabla.com;
    location / {
        try_files $uri $uri/ =404;
    }
}

server {
    listen 80;
    server_name mew.blabla.com;
    root /var/www/mew.blabla.com;
    location / {
        try_files $uri $uri/ =404;
    }
}

Der Inhalt für mew.blabla.com wird also über den Pfad /var/www/mew.blabla.com bereitgestellt, während der Inhalt für blabla.com über den Pfad /var/www/blabla.com bereitgestellt wird.

chrskly
quelle