2017-01-15 22 views
0

Wie konfiguriere ich einen einzelnen Ordner mit dem Namen "Projekte", wobei jeder Unterordner eine Subdomain ist? Beispiel: Ich habe Website example.com Auf meinem Server Ich habe OrdnerNginx configure Ordner für Subdomains

/var/www/html/example.com 

I neue Ordner erstellt:

/var/www/html/projects/ 

und jeden Ordner in 'Projekten' Verzeichnis ist neue Subdomain:

/var/www/html/projects/site1 = site1.exapmle.com 

Danke

@ richard-smith, habe ich config-Datei projects in /etc/nginx/sites-available mit Inhalt:

server { 
listen 80; 

root /var/www/html/projects/$domain; 
index index.php index.html index.htm index.nginx-debian.html; 

server_name ~^(www\.)?(?<domain>\.example\.com)$; 

location/{ 
    try_files $uri $uri/ =404; 
} 

location ~ \.php$ { 
    include snippets/fastcgi-php.conf; 
    fastcgi_pass unix:/run/php/php7.0-fpm.sock; 
} 

location ~ /\.ht { 
    deny all; 
} 

} // statt example.com meine dome Name.

Symbolverknüpfung in /etc/nginx/sites-enabled erstellt und service nginx reload ausgeführt. Aber nach dem Öffnen site1.example.com. Ich bekomme "This site can’t be reached". Aber meine example.com funktionieren gut.

+0

Überprüfen Sie zuerst Ihre Serverprotokolle, möglicherweise ein beliebiges fcgi-Problem –

+1

Haben Sie DNS für die 'site1'-Subdomäne eingerichtet? –

+0

** Immer ** überprüfen Sie mit [curl] (http://curl.haxx.se). Browser sind viel zu "benutzerfreundlich" (lesen: nicht genau genug für die Diagnose). – Melvyn

Antwort

0

Mithilfe eines regulären Ausdrucks in der Anweisung server_name können Sie den Namen der Subdomäne erfassen und in der Direktive root verwenden.

server { 
    server_name ~^(www\.)?(?<domain>\.example\.com)$; 
    root /var/www/html/projects/$domain; 
    ... 
} 

Weitere Informationen finden Sie unter this document.

+0

Danke! Ich habe nach dem Testen neue Informationen zu meiner Frage hinzugefügt. Bitte, sieh es dir an. – Pshenichniy

Verwandte Themen