2013-12-17 5 views
20

Sto leggendo esercitazione nginx principianti, sulla sezione Serving Static Content hannoQuando è necessario utilizzare il blocco http nel file di configurazione nginx?

http { 
    server { 
    } 
} 

ma quando aggiungo un blocco http ottengo l'errore

[Emerg] "http" direttiva non è permesso qui ...

Quando rimuovo il blocco http e cambiare il file di configurazione per questo, funziona benissimo:

server { 
    listen 80 default_server; 
    listen [::]:80 default_server ipv6only=on; 

    root /var/example.com/html; 
    index index.html index.htm; 

    # make site accessible from http://localhost/ 
    server_name localhost 

    location/{ 
     try_files $uri $uri/ /index.html; 
    } 

Ho il sospetto che mi manca qualcosa di semplice, ma perché usano http per servire file statici?

risposta

28

Fare bene. Credo che si sta modificando/etc/nginx/sites-enabled/default (o il file collegato in/etc/nginx/sites-available/default.

Questo è il nginx standard di set up. Si è configurato con/etc /nginx/nginx.conf che contiene l'istruzione http {} Questo a sua volta contiene una riga "include/etc/nginx/sites-enabled/*" per includere il file sopra con clausola server {} in esso.

si noti che se si sta utilizzando un editor che crea un file di backup, è necessario modificare l'istruzione include di escludere i file di backup, oppure si otterrà alcuni errori "interessanti"! la mia linea è

include /etc/nginx/sites-enabled/*[a-zA-Z] 

che non preleverà i file di backup che terminano in una tilde. YMMV.

Problemi correlati