我有一个带有Nginx(0.7.65)和php5-fpm( 由Brian Mercer包装 )的Ubuntu Lucid服务器,
我所有的configuration是默认的,我的网站configuration是这样的(取代了域):
server { listen 80; server_name sub.example.com; access_log /data/log/www/sub.example.com/access.log; error_log /data/log/www/sub.example.com/error.log; location / { root /data/www_data/sub.example.com/public; index index.php; } location ~ \.php$ { fastcgi_param SCRIPT_FILENAME /data/www_data/sub.example.com/public$fastcgi_script_name; fastcgi_pass 127.0.0.1:9000; include /etc/nginx/fastcgi_params; } }
我有一个index.php与<?php phpinfo(); ?> <?php phpinfo(); ?>在里面。
现在,当我在Chrome浏览器中加载sub.example.com/时,我可以看到phpinfo。 奇怪的是,在我的访问日志中,多个条目是为index.php命中而写的。 对于favico(这不存在)只有一个命中。 看下面的日志。
130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET / HTTP/1.1" 200 10287 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3" 130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3" 130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=SUHO8567F54-D428-14d2-A769-00DA302A5F18 HTTP/1.1" 200 2825 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3" 130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /index.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2158 "http://sub.example.com/" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3" 130.233.178.70 - - [23/Sep/2010:05:00:27 +0000] "GET /favicon.ico HTTP/1.1" 404 143 "-" "Mozilla/5.0 (X11; U; Linux x86_64; en-US) AppleWebKit/534.3 (KHTML, like Gecko) Chrome/6.0.472.62 Safari/534.3"
是什么导致index.php这三重打击?
只需查看生成的页面的源代码。 你会看到图像有地址
<img border="0" src="/index.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42" alt="PHP Logo" />
这是因为您在日志文件中有多个请求
首先你应该把Nginx升级到0.7.67,你可以看到Change Log 0.7.66是一个重大更新,不推荐使用0.7.65。
如果你看看实际的请求,你会发现它们也是不同的。
?=PHPE9568F34 ?=SUHO8567F54 ?=PHPE9568F35
我不能告诉你为什么他们不同,但这至less是为什么Nginx正在logging三个请求。 奇怪的是,状态200之后的数字是发送的字节数,所以它实际上显示了不同的内容。 根据请求,根据查询string,这至less部分与suhosin有关。