打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
nginx支持etag扩展

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

下面就主要说说该模块的安装

需要安装git,然后nginx 方面,只是在原有配置文件上增加这个模块.要查询之前你配置的参数,可以执行'/usr/local/sbin/nginx -V'.然后在后面增加这个第三方模块

安装过程:

#cd /var/tmp

#wget  http://wiki.github.com/mikewest/nginx-static-etags

#yum install git git-core

#wget http://sysoev.ru/ nginx /nginx -0.7.63.tar.gz

#tar zxvf nginx -0.7.63.tar.gz

#cd !$

#./configure  (其他参数)  --add-mod ule=/var/tmp/nginx -static-etags 

#make && make install

配置方面,一般将所有静态内容都配置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";
}

常见错误:

1、/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

2core/ngx_regex.o: In function `ngx_pcre_free_studies':

nginx-1.2.1/src/core/ngx_regex.c:307: undefined reference to `pcre_free_study'

指定正则库:--with-pcre     --with-pcre-jit  && 

Make && make install

若还报错:由于pcre正则库的错误,查看prce的版本

#rpm -qa|grep prce

pcre-static-7.8-3.1.el6.x86_64

pcre-7.8-3.1.el6.x86_64

pcre-devel-7.8-3.1.el6.x86_64

版本要一致,否则重新安装

Make && make install

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
ETag使用效果对比及经验分享(附ETag配置教程)(2)
ubuntu10.04 下 nginx1.0.3安装记录
交叉编译PHP5、Nginx、Squid的详细步骤
centos编译安装nginx,及其编译参数解析
使用Nginx反向代理和proxy
nginx源代码分析_浪湾(langwan) 一个思想跳跃的程序员
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服