nginx的empty_gif模块

你对自由的理解是什么?说「不」的能力。

用过百度统计的都知道百度使用1x1的空白图片传递统计参数,自己做异步统计的兄弟是否使用静态文件来传递参数。为什么使用空白图片呢,而不是自己存放一张小图呢,nginx里面的空白图片是保存在内存中的,速度绝对比硬盘上读取的快. 看下如何使用empty_gif生成响应1x1的空白图片吧.

或许哪天ttlsa自己要做统计,咱们也可以使用empty_gif来传递参数,说归说,肯定性还是比较小,能用第三方的统计就用第三方统计。

nginx配置

nginx的模块 ngx_http_empty_gif_module, 编译安装

1
2
3
location = /_.gif {
empty_gif;
}

自定义配置

1
2
3
4
5
6
7
8
9
10
11
12
13
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;
}
}

访问

我们在访问的时候带上所要统计的参数就可以

1
test.ttlsa.com/3145?time=hhh

http://nginx.org/en/docs/http/ngx_http_empty_gif_module.html