2014-07-23 7 views
7

Ich schreibe eine AngularJS einzelne Seite Anwendung mit Nginx.Nginx einzelne Anwendungskonfiguration

Ich habe gerade von Apache zu Nginx gewechselt, aber ich kann meine Config-Datei nicht funktionieren. Ich versuche, alles auf umschreiben, um Angular das Routing zu tun.

Mein nginx.conf ist wie folgt:

server { 
    index index.html; 

    location/{ 
    expires -1; 
    add_header Pragma "no-cache"; 
    add_header Cache-Control "no-store, no-cache, must-revalidate, post-check=0, pre-check=0"; 
    try_files $uri $uri/ /index.html; 
    } 
} 

Ist es möglich, wie meine nginx.conf Datei im Projektstamm zu haben, meine .htaccess tat?

+2

Ich sehe nicht, warum Ihre 'try_files' nicht funktionieren würde, aber um Ihre zweite Frage zu beantworten, wird kein Nginx nicht laden Config-Dateien zufällig in Verzeichnisse platziert. Noch sollte es ... das ist ein ernstes Leistungsproblem. Sie können beim Start alle gewünschten conf-Dateien für Nginx hinzufügen. Für mich platziere ich Konfigurationsdateien in einem 'nginx'-Verzeichnis in meinem Code und lasse Nginx' projects/*/nginx/nginx.conf' mit einschließen. – Brad

Antwort

9

Sie wollen nicht nginx.conf im Projektstamm und es ist nicht notwendig. Außerdem möchten Sie keine direkten Änderungen an nginx.conf, stattdessen möchten Sie bestimmte Dateien für verschiedene Websites in/etc/nginx/sites-available, die Sie mit einem ln in/etc/nginx/sites-enabled aktivieren.

Was die config:

server { 
root /var/www/mysite/; #or whereever your site files are 
index index.html; 

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

Sie den Wurzelbereich fehlt die nginx sagt, wo sich der Standort befindet.