NGINX + PHP-FPM 使用 access_log 来处理 404 问题,而不是 error_log

NGINX + PHP-FPM 使用 access_log 来处理 404 问题,而不是 error_log

nginx 1.4.6在 Ubuntuphp5-fpm 5.5.9上有。

Nginx 的网站配置包含:

...
    fastcgi_intercept_errors on;

    access_log /var/log/nginx/dev-vm.domain.com-access.log;
    #error_log /var/log/nginx/dev-vm.domain.com-error.log debug;
    error_log /var/log/nginx/dev-vm.domain.com-error.log error;
...

网站的 PHP-FPM 配置如下:

...
php_flag[display_errors] = on
php_admin_value[error_log] = /var/log/nginx/dev-vm.domain.com-error.log
php_admin_flag[log_errors] = on
...

php.ini

# cat /etc/php5/fpm/php.ini | grep var/log
error_log = /var/log/nginx/php-error.log

问题是 - 只有*.php文件会进入error日志,但没有 404 消息:

2016/11/15 11:52:03 [错误] 47523#0:39 FastCGI 在 stderr 中发送:“主脚本未知”,同时从上游读取响应头,客户端:194。.*.45,服务器:dev-vm.domain.com,请求:“GET /scsdc.php HTTP/1.1”,上游:“fastcgi://unix:/var/run/dev-vm.domain.com.sock:”,主机:“dev-vm.domain.com”

但图像 404 - 仍然会access.log改为error.log

194..45 - - [15/Nov/2016:11:54:53 +0000] “获取/wp-content/uploads/2016/10/160829_netzeband_183-1.jpg HTTP/1.1” 404 18168 “http://dev-vm.domain.com/“Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML,如 Gecko) Ubuntu Chromium/53.0.2785.143 Chrome/53.0.2785.143 Safari/537.36”

我在这里错过了什么?

这不是我第一次在 NGINX+PHP-FPM 上设置 WordPress,在另一台主机上,它运行得很好:

# cat /var/log/nginx/vhosts/anotherdomain/anotherdomain.co.ua-error.log | grep 404 | wc -l
325596

相关内容