Je suis en train d'essayer de faire en sorte que nginx enregistre les logs d'accès et les logs d'erreurs. Mes logs contiennent actuellement des contenus très anciens, un mélange de logs et de logs gzippés.
$ ls -la access*.log*
-rw-rw-rw- 1 nobody nogroup 0 Jan 8 2016 access.log
-rw-rw-rw- 1 nobody nogroup 2261400 Jan 7 2016 access.log.1
-rw-rw-rw- 1 nobody nogroup 311947 Dec 30 2015 access.log.10.gz
-rw-rw-rw- 1 nobody nogroup 434744 Dec 29 2015 access.log.11.gz
Ma configuration est la suivante:
user www-data www-data;
error_log /var/log/nginx/error.log info;
...
http {
access_log /var/log/nginx/access.log combined;
...
Étrangement, malgré la déclaration de user
, les processus worker continuent de s'exécuter en tant que nobody:
# ps -eo "%U %G %a" | grep nginx
root root nginx: master process /usr/local/openresty/nginx/sbin/nginx -c /usr/local/openresty/nginx/conf/nginx.conf
nobody nogroup nginx: worker process
nobody nogroup nginx: worker process
J'ai essayé de définir le propriétaire des fichiers access.log
et error.log
existants en nobody:nogroup
mais ça ne fonctionne toujours pas.
Il n'y a rien (de pertinent) dans syslog
.
J'ai essayé une combinaison (!) de rechargement et de redémarrage de nginx après avoir modifié le fichier de configuration. Toujours rien...
En quoi ma configuration est-elle incorrecte?
0 votes
Dans le premier bloc de commande, êtes-vous réellement dans le répertoire nommé
/var/log/nginx/
? De plus, il est possible queerror_log
etaccess_log
soient configurés une deuxième fois dans un autre fichier, et que la première configuration soit ignorée.