it-swarm.com.de

nginx - Konfiguration mit zwei Subdomains

Ich bin neu bei Nginx und versuche Subdomains zum Laufen zu bringen.

Ich möchte meine Domain nehmen (nennen wir sie example.com) und füge hinzu:

  • sub1.example.com,
  • sub2.example.com und auch haben
  • www.example.com verfügbar.

Ich weiß, wie man das mit Apache macht, aber Nginx ist ein echter Head-Scratcher.

Ich lasse Debian 6 laufen.

Mein aktuelles /etc/nginx/sites-enabled/example.com:

server {
    server_name www.example.com example.com;
    access_log /srv/www/www.example.com/logs/access.log;
    error_log /srv/www/www.example.com/logs/error.log;
    root /srv/www/www.example.com/public_html;

    location / {
        index  index.html index.htm;
    }

    location ~ \.php$ {
        include /etc/nginx/fastcgi_params;
        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
    }
}

Es funktioniert, um example.com und www.example.com zu bedienen. 

Ich habe versucht, einen zweiten Serverblock in derselben Datei hinzuzufügen:

server {
        server_name www.example.com example.com;
        access_log /srv/www/www.example.com/logs/access.log;
        error_log /srv/www/www.example.com/logs/error.log;
        root /srv/www/www.example.com/public_html;

        server {
            server_name sub1.example.com;
            access_log /srv/www/example.com/logs/sub1-access.log;
            error_log /srv/www/example.com/logs/sub1-error.log;
            root /srv/www/example.com/sub1;
    }
        location / {
            index  index.html index.htm;
        }

        location ~ \.php$ {
            include /etc/nginx/fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
            fastcgi_index index.php;
            fastcgi_param SCRIPT_FILENAME /srv/www/www.example.com/public_html$fastcgi_script_name;
        }
}

Kein Glück. Irgendwelche Ideen? Ich würde mich über jede Rückmeldung sehr freuen.

44

Der Fehler besteht darin, einen Serverblock in einen Serverblock einzufügen. Sie sollten den Hauptserverblock schließen und dann einen neuen für die Subdomänen öffnen

server {
    server_name example.com;
    # the rest of the config
}
server {
    server_name sub1.example.com;
    # sub1 config
}
server {
    server_name sub2.example.com;
    # sub2 config
}
64

Sie müssen lediglich die folgende Zeile anstelle Ihres Servernamens hinzufügen

server_name xyz.com  *.xyz.com;

Und starten Sie Nginx neu. Das ist es.

3
Mohd Anas

Sie müssen eine weitere Nginx-Konfigurationsdatei mit einem Serverblock für Ihre Subdomain erstellen. So wie:

/etc/nginx/sites-enabled/subdomain.example.com
0
Cisko Rijken