Ich habe kürzlich meinen CentOS 7-Computer von Apache auf Nginx umgestellt und arbeite immer noch an den Unterschieden. Ein Problem, das ich nur bei einem meiner Serverblöcke festgestellt habe, ist, dass Zugriffs- und Fehlerprotokolldateien nicht tatsächlich protokolliert werden, was es schwierig macht, potenzielle Probleme zu beheben.
Der Serverblock für meine Site sieht folgendermaßen aus:
server {
listen 80;
server_name example.com;
root /var/www/example.com/public_html;
index index.php;
access_log /var/www/example.com/logs/example.com_access.log;
error_log /var/www/example.com/logs/example.com_error.log error;
location / {
index index.php index.html;
}
location /reports {
autoindex on;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass unix:/var/run/php-fpm/php-fpm.sock;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
error_page 404 /var/www/html/404.html;
error_page 500 502 503 504 /var/www/html/50x.html;
location ~* \.(js|css|png|jpg|jpeg|gif|ico)$ {
expires max;
log_not_found off;
}
location /robots.txt {
#access_log off;
#log_not_found off;
}
location ~ /\.ht {
deny all;
}
}
Ich bin mir nicht sicher, warum die Protokolle nicht aufbewahrt werden. Ich habe Dateiberechtigungen für meine Serverblöcke verglichen, und alle haben dieselben Berechtigungen.
-rw-r--r--. 1 nginx root 0 Nov 7 02:54 example.com_access.log
-rw-r--r--. 1 nginx root 0 Nov 7 02:54 example.com_error.log
Was könnte das Problem sein, warum Protokolle nicht gespeichert werden?