El problema de los archivos de configuración de nginx registro de acceso abierto, pero no por escrito a un archivo de registro y contenido - Linux

Uno, reconstrucción de la escena

1, el archivo de configuración /nginx/conf/nginx.conf
worker_processes  1;

events {
    worker_connections  1024;
}


http {
    include       mime.types;
    default_type  application/octet-stream;

    #log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
    #                  '$status $body_bytes_sent "$http_referer" '
    #                  '"$http_user_agent" "$http_x_forwarded_for"';

    sendfile        on;

    keepalive_timeout  65;

    server {
        listen       80;
        server_name  localhost;

        location / {
            root   html;
            index  index.html index.htm;
        }

        error_page   500 502 503 504  /50x.html;
        location = /50x.html {
            root   html;
        }
    }

    include sites-enabled/*.conf;
}
2, una sola perfiles de proyectos /nginx/conf/sites-enabled/jean.conf
server {
  listen 80;

  server_name www.jean.com;
  root /mine/serve/project;

  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires max;
  }

  access_log  logs/access.jean.log  main;

  location / {
        index index.html;
        autoindex on;
        autoindex_exact_size on;
        autoindex_localtime on;
  }

  location ~ /\.ht {
    deny  all;
  }

  location ~ \.sh$ {
    deny  all;
  }
}
3, la configuración de prueba
[root@192 sbin]# ./nginx -t
nginx: the configuration file /mine/serve/nginx/conf/nginx.conf syntax is ok
nginx: configuration file /mine/serve/nginx/conf/nginx.conf test is successful
4, el acceso a los nombres de dominio 
salida normal!
5, ver el registro 
no genera un archivo de registro
[root@192 logs]# ls
access.log  error.log  nginx.pid

En segundo lugar, identificar problemas

1, cuando los perfiles de proyectos /nginx/conf/sites-enabled/jean.conf
#可疑代码行
=-----------------------------------------------------=
  location ~* \.(jpg|jpeg|gif|css|png|js|ico|html)$ {
    access_log off;
    expires max;
  }
=-----------------------------------------------------=
Nota: Los medios de código anteriores que el acceso es jpg | jpeg | gif | png, css | JS | ico, archivo html, no se escribe en el registro, la memoria caché es mantener el máximo!
2, resolución de problemas 
comentario el "access_log fuera;" esta línea: "# access_log fuera;", y luego el servicio nginx reinicio 
y se nginx.conf archivo, definir la línea de comandos para log_format abierta (quitar la anterior "#")
=-----------------------------------------------------------------------=
log_format  main  '$remote_addr - $remote_user [$time_local] "$request" '
                  '$status $body_bytes_sent "$http_referer" '
                  '"$http_user_agent" "$http_x_forwarded_for"';
=-----------------------------------------------------------------------=
3, una vez más, visite el nombre de dominio, ver el registro 
y, efectivamente, generación de registros
[root@192 logs]# ls
access.jean.log  access.log  error.log  nginx.pid
[root@192 logs]# ll
总用量 12
-rw-r--r--. 1 root root  194 11月 23 09:58 access.jean.log
-rw-r--r--. 1 root root    0 11月 23 03:12 access.log
-rw-r--r--. 1 root root 1442 11月 23 09:58 error.log
-rw-r--r--. 1 root root    4 11月 23 03:12 nginx.pid
El contenido está escrito! ! 

4, se puede argumentar que la "access_log logs / access.jean.log principal," poner [la línea] # código sospechoso de arriba, no puedo? No, crea un archivo access.jean.log, sin embargo, no escribir el contenido!

En tercer lugar, el resumen problema

Sobre el error de registro, por lo general hay dos problemas: 
1, está en el registro, pero no generaron un registro, esta situación, en primer lugar, asegúrese de que usted no ha activado la línea de comandos de registro, tales como "access_log logs / access.jean.log principal;" , hay, y luego mirar sus perfiles principales nginx.conf archivo de configuración y de proyectos "/nginx/conf/sites-enabled/jean.conf" no hay "access_log fuera;" línea de comandos, si es así, ha comentado, el servicio nginx reinicio en general, no hay problema. 
2, informó "nginx: [emerg]" log_format "está permitido aquí en /mine/serve/nginx/conf/sites-enabled/jean.conf:13 directiva no" este error, comúnmente definido "log_format" debe ser nginx archivo .conf, el valor predeterminado es anotado para abrir acerca de este formato, también puede personalizar el archivo de configuración en nginx.conf, a continuación, en el archivo de configuración del proyecto. 
3 Además, el formato de registro "log_format" definición, no se puede definir en el archivo de configuración del proyecto, tales como "/nginx/conf/sites-enabled/jean.conf", de lo contrario, habrá un error!
Publicado 59 artículos originales · ganado elogios 2 · Vistas 5561

Supongo que te gusta

Origin blog.csdn.net/LDR1109/article/details/103894875
Recomendado
Clasificación