(图)为Nginx增加Etag模块的方法

发布时间:2020-12-14编辑:脚本学堂
为nginx增加etag模块,感兴趣的朋友可以参考下。

nginx增加etag模块,感兴趣的朋友可以参考下。

系统环境:
centos5.6_x64
Nginx 1.0.0
官网地址:
nginx: http://nginx.org/
Etag源地址:https://github.com/mikewest/nginx-static-etags
Etag下载地址:https://nodeload.github.com/mikewest/nginx-static-etags/tarball/master

安装步骤:
1.下载Etag  
文件名 mikewest-nginx-static-etags-25bfaf9.tar.gz    路径/root/soft/mikewest-nginx-static-etags-25bfaf9.tar.gz

2.重新编译nginx,添加Etag模块
a)、nginx -V   
//获取nginx的编译参数 --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module
b)、

复制代码 代码如下:
cd /root/soft 
tar zxvf   mikewest-nginx-static-etags-25bfaf9.tar.gz   
echo '' >> /root/soft/ mikewest-nginx-static-etags-25bfaf9/ngx_http_static_etags_module.c   //bug  增添一空行,否则编译不过
cd /root/soft/nginx1.0.0
./configure  --user=www --group=www --prefix=/usr/local/nginx --with-http_stub_status_module --with-http_ssl_module  --add-module=/root/soft/mikewest-nginx-static-etags-25bfaf9         //注意后面添加的路径要对
make     //这里确记不要make install,否则有可能把当前的配置文件覆盖,影响当前业务。
cp  /usr/local/nginx/sbin/nginx  /usr/local/nginx/sbin/nginx.bak    //备份个比较安全,出错马上还原回去
cp objs/nginx  /usr/local/nginx/sbin/nginx.tmp      //替换成新的nginx
rm -rf  /usr/local/nginx/sbin/nginx  && mv  /usr/local/nginx/sbin/nginx.tmp   /usr/local/nginx/sbin/nginx
/usr/local/nginx/sbin/nginx  -t       
kill -USR2 `cat /usr/local/nginx/logs/nginx.pid`   //让nginx把nginx.pid改成nginx.pid.oldbin 并启动新的nginx
kill -QUIT `cat /usr/local/nginx/logs/nginx.pid.oldbin`  //习惯使用nginx -s reload来重启,发现不能生效,以为我配置错了花一个早上时间找问题。
 

c)、修改nginx.

复制代码 代码如下:
conflocation ~ .*/.(gif|jpg|jpeg|png|bmp|ico|rar|css|js|zip|xml|txt|flv|swf|mid|doc|cur|xls|pdf|txt|)$
{
   FileETag on;
   etag_format "%X%X";
expires 30d;
}

nginx_etag_1
启动nginx
/usr/local/nginx/sbin/nginx  -t
/usr/local/nginx/sbin/nginx  -s reload
然后用curl测试看看
curl --head http://www.***.com/css/style.css
nginx_etag_2

原文作者:李坤山
博客链接:http://blog.163.com/a12333a_li/