2014-10-14 17 views
6

Sto lavorando per ottenere NGINX configurato su un server e sono stato in grado di ottenere tutti i miei file in /usr/local/nginx/html/. Ho anche creato un file nginx.conf in /usr/local/nginx/conf. Tutto ciò che contiene è:NGINX cambia posizione di configurazione

server { 
    root /usr/local/nginx/html; 
    index index.html index.html; 
} 

ho usato /usr/local/ perché questa è l'unica cosa che dispone delle autorizzazioni per scrivere nel Quando vado a guardare il sito, ho ancora ottenere la pagina di Nginx index.html con il messaggio.:

Questa è la pagina predefinita index.html distribuita con nginx su EPEL. Si trova in /usr/share/nginx/html.

Ora è necessario inserire il contenuto in una posizione a scelta e modificare la direttiva di configurazione radice nel file di configurazione nginx /etc/nginx/nginx.conf.

Credo che la mia domanda è: come posso configurare il mio file di nginx.conf correttamente in modo che utilizzi il file conf e tira dalla posizione di correzione per i file del sito?

+1

Controllare il file '/ etc/sysconfig/nginx', in alcuni ambienti questo file viene controllato sullo script di init, ed è un buon posto per modificare il percorso NGINX_CONF_FILE usato in questo script di init. – regilero

+0

Non ho i permessi per modificare quel file, solo quelli sopra specificati. Cercando di farlo senza dover aggiungere nuove autorizzazioni. Grazie! – heatherthedev

+0

La domanda non indica che sta usando init, ma forse è una buona ipotesi. @heatherthedev, come stai iniziando nginx? –

risposta

11

Se si avvia nginx in una shell o si utilizza un servizio daemon (che è semplicemente un wrapper attorno alla api della riga di comando), la risposta è the command line API.

Come si è appreso, la posizione predefinita in cui nginx cerca il file di configurazione è /etc/nginx/nginx.conf, ma è possibile passare un percorso arbitrario con il flag -c. Es .:

$ nginx -c /usr/local/nginx/conf 

Un paio di altre note:

  • Dubito che ci sia una buona ragione per ripetere "index.html" nel blocco del server.
  • Vorrei nominare il file di configurazione "nginx.conf" (attualmente si indica che è appena chiamato "conf"). È lo standard.
  • Familiarizza con un'altra bandiera a riga di comando -t, che controlla solo per assicurarsi che il file di configurazione funzioni. Esegui nginx -t ogni volta dopo aver modificato il file di configurazione e si sputeranno eventuali errori di sintassi. Per ricaricare la configurazione dopo le modifiche, utilizzare nginx -s reload.
+0

Impressionante: al momento mancano le autorizzazioni per testarlo, ma ci proverò presto. – heatherthedev

+0

Ha funzionato alla grande! Ora su risolvere tutto il resto;) – heatherthedev

2

Questo è come compilare nginx a cercare la conf predefinita in un'altra directory:

./configure --conf-path=/etc/some/other/nginx.conf 
make 
make install 
nginx 

Dalla documentazione:

--conf-path = percorso - imposta il nome di un file di configurazione nginx.conf. Se necessario, nginx può sempre essere avviato con un diverso file di configurazione , specificandolo nel parametro della riga di comando -c file . Di default il file è denominato prefisso/conf/nginx.conf.

Problemi correlati