我已经尝试了很多东西,但无法使错误日志工作,但访问日志工作正常.
这里提到的解决方案对我不起作用:
http://mailman.nginx.org/pipermail/nginx/2009-February/009567.html(尝试将错误视为error_log pram – 没有运气)
http://forum.nginx.org/read.php?2,58447(停止Nginx后没有过时的过程)
这是虚拟主机信息:
server { server_name .qa.domain.ca; root /var/www/qa.domain.ca; access_log /var/log/Nginx/qa.domain.ca/access.log; error_log /var/log/Nginx/qa.domain.ca/error.log; index index.html index.htm index.PHP; # redirect to non-www if ($host ~* ^www\.(.*)){ set $host_without_www $1; rewrite ^/(.*)$$scheme://$host_without_www/$1 permanent; } if (-d $request_filename){ rewrite ^/(.*[^/])$/$1/ permanent; } location / { # First attempt to serve request as file,then # as directory,then fall back to index.html try_files $uri $uri/ /index.PHP; # Uncomment to enable naxsi on this location # include /etc/Nginx/naxsi.rules } location ~ .PHP${ if (!-f $request_filename) { return 404; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } }
你的设置,可能是基于野外的许多过时的博客文章之一,是低效的.
这是一个更好的设置:
server { server_name www.qa.domain.ca; # redirect to non-www return 301 http://qa.domain.ca$request_uri; } server { server_name qa.domain.ca; root /var/www/qa.domain.ca; access_log /var/log/Nginx/qa.domain.ca/access.log; error_log /var/log/Nginx/qa.domain.ca/error.log; index index.html index.htm index.PHP; # Using "if" for redirection is inefficient as every request will be tested # Also,the "-d" test is redundant given the use of "try_files" below location / { # First attempt to serve request as file,then # as directory,then fall back to index.html try_files $uri $uri/ /index.PHP; # Uncomment to enable naxsi on this location # include /etc/Nginx/naxsi.rules } location ~ .PHP${ # This "if" block will work as long as every PHP file physically exists # and you don't use a PHP app that uses rewriting of pseudo files # I personally prefer to use "location ~ \..*/.*\.PHP${ return 400; }" if (!-f $request_filename) { return 404; } fastcgi_pass 127.0.0.1:9000; fastcgi_index index.PHP; fastcgi_param SCRIPT_FILENAME /var/www$fastcgi_script_name; include fastcgi_params; } }
至于error_log查询,没有理由不能使用任何一个配置.
****编辑****
似乎可能有原因导致日志记录失效:https://bugs.php.net/bug.php?id=61045