nginx安装etag模块

原创 2010年10月23日 22:04:00

nginx 默认有Expires模块,但是却没有Etags 模块.按照Nginx 作者Igor Sysoev的观点,他认为在对静态文件 处理上,还看不出Etags 比Last-Modified的好处.
但是也有人说Nginx 加了Etags 模块会好很多,如这个模块的作者说的那样:

Isee the complete lack of Etag support as an oversight. It’s moregranular than Last-Modified, which is only accurate to the second, andonly measures change along the axis of time; touching a file doesn’tchange it’s content, but would force a cache miss when the cache isbased on nothing but timestamp. Etags ,on the other hand, are content-based identifiers that provide amechanism for confirmation that the content of the file you’re readingis accurate, regardless of inconsequential fiddling or deployment onthe server.

详细内容请访问:http://mikewest.org/2008/11/generating-etags-for-static-content-using-nginx .
下面就主要说说该模块的安装,从这里可以得到源代码 和安装说明:http://wiki.github.com/mikewest/nginx-static-etags
环境是Debian ,我们需要安装git库.一般来说直接执行:'apt-get install git'就可以了,但是这样无法取得SVN上的资料 .因为在debian稳定版中去除了git-core库.我们安装就是了,然后nginx 方面,只是在原有配置文件上增加这个模块.要查询之前你配置的参数,可以执行'/usr/local/sbin/nginx -V'.然后在后面增加这个第三方模块.关于第三方模块的使用,可以参考nginx wiki:http://wiki.nginx.org/Nginx3rdPartyModules

$apt-get install git git-core
$curl -O http://sysoev.ru/ nginx /nginx -0.7.63.tar.gz
$tar -zxvf ./nginx -0.7.63.tar.gz
$git-clone git://github.com/mikewest/nginx -static-etags .git /usr/src/nginx -static-etags
$cd nginx -0.7.63/
$./configure --add-mod ule=/usr/src/nginx -static-etags /
  ...(你原有配置信息)
$make

在这个步骤,出错通常会显示这个信息:
/usr/src/nginx -static-etags /ngx_http_static_etags_module.c:168:2: error: no newline at end of file
make[1]: *** [objs/addon/nginx -static-etags /ngx_http_static_etags_module.o] Error 1
make[1]: Leaving directory `/usr/src/nginx -0.7.63'
make: *** [build] Error 2
出错的原因是这个第三方模块的c文件的最后一行没有用空白行隔开.我们编辑一下这个c文件,在最后一行(也就是168行)增加一个空行就可以了.然后再执行make命令 .
$vi /usr/src/nginx -static-etags /ngx_http_static_etags_module.c
$...
$make
复制到sbin位置就可以了.
$mv /usr/local/sbin/nginx /usr/local/sbin/nginx .old
$cp objs/nginx /usr/local/sbin/
最后重启nginx .
配置方面,一般将所有静态内容都配置Etags 就可以了(参数说明 ).如下:
location ~ .*/.(htm|html|gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|xml|txt|flv|swf|mid|doc|cur|xls|pdf|txt|mp3|wma)$ {
      expires 7d;
      FileETag on;
      etag_format "%X%X";
}

[nginx]查看安装了哪些模块

有时候安装的时候不知道哪些模块忘了安装需要查看下已经安装的模块。 查看安装了哪些模块$ nginx -V nginx version: nginx/1.4.6 (Ubuntu) built by gc...
  • lzz957748332
  • lzz957748332
  • 2015年03月12日 11:19
  • 9936

Nginx安装以及使用,加载Https模块,以及gzip模块

nginx是安装在Linux下面的; 安装nginx参考了一下下面这个文档 http://www.cnblogs.com/Netsharp/p/5890170.html 如果需要加载https模块,...
  • u010947098
  • u010947098
  • 2016年12月26日 21:19
  • 2080

在已经安装Nginx的基础上增加新Nginx-echo模块

在已经安装Nginx的基础上增加新的模块下载需要的echo模块 # wget https://github.com/openresty/echo-nginx-module/archive/v0.60....
  • hb1707
  • hb1707
  • 2016年09月12日 09:13
  • 4317

nginx安装etag模块

nginx 默认有Expires模块,但是却没有Etags 模块.按照Nginx 作者Igor Sysoev的观点,他认为在对静态文件 处理上,还看不出Etags 比Last-Modified的好...
  • zzw945
  • zzw945
  • 2012年07月11日 23:33
  • 765

Apache/Nginx Cache Last-Modified、Expires和Etag相关工作原理

转自 http://xok.la/2010/11/apache_nginx_cache_last-modified%E3%80%81expires_etag.html 使用ETag和Ex...
  • chong2230
  • chong2230
  • 2011年12月12日 20:19
  • 495

http响应Last-Modified和ETag以及Apache和Nginx中的配置

基础知识   1) 什么是”Last-Modified”?   在浏览器第一次请求某一个URL时,服务器端的返回状态会是200,内容是你请求的资源,同时有一个Last-Modified的属性标记此...
  • 21aspnet
  • 21aspnet
  • 2011年07月14日 09:59
  • 14397

FastDFS安装包、附nginx模块

  • 2017年09月21日 16:27
  • 1.35MB
  • 下载

nginx,lua模块安装

  • 2016年09月28日 11:57
  • 22KB
  • 下载

Nginx rtmp 模块安装及配置及遇到的问题

nginx rtmp 安装 配置 问题 unknown directive "rtmp"
  • O0mm0O
  • O0mm0O
  • 2017年06月29日 14:03
  • 1228

Nginx 入门操作手册(从安装依赖库到模块编译)

Nginx 入门操作手册(从安装依赖库到模块编译)1 安装 mysql 和 openssl$ sudo apt-get install libmysqlclient-dev$ sudo yum ins...
  • u010649766
  • u010649766
  • 2017年11月24日 15:54
  • 183
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:nginx安装etag模块
举报原因:
原因补充:

(最多只允许输入30个字)