Il sotto è il mio file di configurazione di nginx trova nella /etc/nginx/nginx.conf
Nginx comunque cercare di aprire il file di log degli errori di default anche se ho impostato file di configurazione nginx e ricaricare
user Foo;
worker_processes 1;
error_log /home/Foo/log/nginx/error.log;
pid /home/Foo/run/nginx.pid;
events {
worker_connections 1024;
use epoll;
}
http {
access_log /home/Foo/log/nginx/access.log;
server {
listen 80;
location =/{
proxy_pass http://192.168.0.16:9999;
}
}
}
Come potete vedere cambio di registro, i file di pid posizione in home directory.
Quando riavvio Linux
sembra funzionare, Nginx
registra i registri degli errori nel file che ho impostato e anche il file pid.
Tuttavia, quando tenta nginx -s reload
o l'altro, tenta di aprire altro file di registro degli errori.
nginx: [alert] could not open error log file: open() "/var/log/nginx/error.log" failed (13: Permission denied)
2015/12/14 11:23:54 [warn] 3356#0: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
2015/12/14 11:23:54 [emerg] 3356#0: open() "/home/Foo/run/nginx.pid" failed (13: Permission denied)
nginx: configuration file /etc/nginx/nginx.conf test failed
so, posso risolvere errore di autorizzazione con sudo
ma il problema principale qui è un file di log degli errori (/var/log/nginx/error.log
) Nginx tenta di aprire.
Perché tenta di accedere a un altro file di registro degli errori?
chiedo il motivo per cui 'Nginx' tenta di accedere a un altro, non il file di log degli errori di un problema di permessi. Anche se c'è un problema di autorizzazione. Penso che l'errore mostri un errore nel file che ho impostato nel file di configurazione ('/ home/Foo/log/nginx') non'/var/log/nginx/error.log'. – SangminKim
nginx sta tentando di aprire il registro degli errori predefinito prima di leggere la direttiva per inserire il registro altrove e l'utente Foo non dispone dell'autorizzazione per accedere a tale posizione. Ecco perché stai ricevendo il primo avviso. Inoltre appare la directory/home/Foo/run/non è scrivibile, o non esiste. Perché non usare solo le posizioni predefinite? Cosa stai cercando di fare esattamente? – cantelope