![NGINX + PHP-FPM 使用 access_log 来处理 404 问题,而不是 error_log](https://linux22.com/image/693541/NGINX%20%2B%20PHP-FPM%20%E4%BD%BF%E7%94%A8%20access_log%20%E6%9D%A5%E5%A4%84%E7%90%86%20404%20%E9%97%AE%E9%A2%98%EF%BC%8C%E8%80%8C%E4%B8%8D%E6%98%AF%20error_log.png)
我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