2014-07-23 24 views
7

Sto scrivendo un'applicazione per pagina singola AngularJS utilizzando nginx.Configurazione applicazione singola Nginx

Ho appena passato da apache a nginx, ma non riesco a far funzionare il mio file di configurazione. Sto tentando di riscrivere tutto su index.html per consentire a Angular di eseguire il routing.

mio nginx.conf è la seguente:

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; 
    } 
} 

E 'possibile avere il mio file nginx.conf nella root del progetto come il mio .htaccess ha fatto?

+2

Non vedo perché il tuo 'try_files' non funzionerebbe, ma per rispondere alla tua seconda domanda, Nginx non caricherà i file di configurazione inseriti in modo casuale nelle directory. Né dovrebbe ... questo è un grave problema di prestazioni. È possibile includere qualsiasi file conf desiderato per Nginx all'avvio. Per me, metto i file di configurazione in una directory 'nginx' nel mio codice, e ho Nginx include' projects/*/nginx/nginx.conf'. – Brad

risposta

9

Non si desidera nginx.conf nella radice del progetto e non è necessario. Inoltre, non vuoi le modifiche dirette a nginx.conf, vuoi invece file specifici per diversi siti web in/etc/nginx/sites-available che abiliti con uno ln in/etc/nginx/sites-enabled.

Per quanto riguarda la configurazione:

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

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

vi manca la parte di radice che racconta nginx cui si trova il sito.

Problemi correlati