用过百度统计的兄弟有没有注意到百度使用1x1的空白图片传递统计参数,自己做异步统计的兄弟是否使用静态文件来传递参数。为什么使用空白图片呢,而不是自己存放一张小图呢,nginx里面的空白图片是保存在内存中的,速度绝对比硬盘上读取的快. 看下如何使用empty_gif生成响应1x1的空白图片吧.
或许哪天ttlsa自己要做统计,咱们也可以使用empty_gif来传递参数,说归说,肯定性还是比较小,能用第三方的统计就用第三方统计。好了,进入正题吧。
nginx默认内置ngx_http_empty_gif_module模块, 如何安装nginx我不在多讲.直接看下empty_gif的用法
nginx配置
nginx模块ngx_http_empty_gif_module会响应1x1的GIF图片.
location = /_.gif { empty_gif; }
1
2
3
|
location = /_.gif {
empty_gif;
}
|
如下是我的nginx配置
server { listen 80; server_name test.ttlsa.com; access_log /data/logs/nginx/test.ttlsa.com.access.log main; index index.html index.<a href="http://www.ttlsa.com/php/" title="php"target="_blank">php</a> index.html; root /data/site/test.ttlsa.com; location ~* /3145/ { empty_gif; } }
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
server {
listen 80;
server_name test.ttlsa.com;
access_log /data/logs/nginx/test.ttlsa.com.access.log main;
index index.html index.php index.html;
root /data/site/test.ttlsa.com;
location ~* /3145/
{
empty_gif;
}
}
|
测试empty_gif
访问test.ttlsa.com/3145/结果如下:
empty_gif指令
语法: empty_gif;
默认: —
配置段: location
开启响应1x1空白图片
最后
empty_gif用得最多的地方还是统计,当然你觉得可以用的地方也是可以用,只要是你用得着,毕竟内存速度比硬盘要快非常多.