官方说明:Generation of Expires and Cache-Control HTTP headers according to user-specified criteria
检查是否安装模块:
0 1 2 3 4 |
[root@lamp conf]# /usr/local/apache/bin/apachectl -l |grep expires [root@lamp conf]# grep expires /usr/local/apache/conf/httpd.conf #因为编译的时候编译了expires模块,因此此处无需安装 LoadModule expires_module modules/mod_expires.so [root@lamp conf]# /usr/local/apache/bin/apachectl -M |grep expires expires_module (shared) |
安装mod_expires模块:
0 1 2 3 4 5 6 7 8 9 |
[root@lamp metadata]# pwd #此目录是apache的解压包目录 /byrd/tools/httpd-2.4.9/modules/metadata [root@lamp metadata]# /usr/local/apache/bin/apxs -c -i -a mod_expires.c #/usr/local/apache/是apache安装目录,此处以dso方式进行编译安装。完成后请检查配置 chmod 755 /byrd/server/httpd-2.4.9/modules/mod_expires.so [activating module `expires' in /byrd/server/httpd-2.4.9/conf/httpd.conf] apxs命令参数说明: -i 此选项表示需要执行安装操作,以安装一个或多个动态共享对象到服务器的modules目录中。 -a 此选项自动增加一个LoadModule行到httpd.conf文件中,以激活此模块,或者,如果此行已经存在,则启用之。 -A 与 -a 选项类似,但是它增加的LoadModule命令有一个井号前缀(#),即此模块已经准备就绪但尚未启用。 -c 此选项表示需要执行编译操作。它首先会编译C源程序(.c)files为对应的目标代码文件(.o),然后连接这些目标代码和files中其余的目标代码文件(.o和.a),以生成动态共享对象dsofile 。如果没有指定 -o 选项,则此输出文件名由files中的第一个文件名推测得到,也就是默认为mod_name.so 。 |
未配置mod_expires:
0 1 2 3 4 5 6 |
[root@lamp htdocs]# curl -I 192.168.199.178 #此前安装了一个discuzX的论坛程序 HTTP/1.1 301 Moved Permanently Date: Sun, 11 May 2014 10:08:10 GMT Server: Apache/2.4.9 (Unix) PHP/5.5.11 X-Powered-By: PHP/5.5.11 location: forum.php Content-Type: text/html |
配置mod_expires参数:
ExpiresDefault "base[plus num type] [num type] ..."
ExpiresByType type/encoding "base[plus num type] [num type] ..."
0 1 2 3 |
ExpiresActive on ExpiresDefault "access plus 12 month" #默认缓存时间 ExpiresByType text/html "access plus 12 month" #html、文件缓存12个月 ExpiresByType image/gif "access plus 24 month" #图片gif缓存24个月。 |
重新启动apache
0 1 |
[root@lamp htdocs]# ../bin/apachectl -k stop [root@lamp htdocs]# ../bin/apachectl -k start |
查看增加mod_expires:
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
[root@lamp htdocs]# curl -I 192.168.199.178 HTTP/1.1 301 Moved Permanently Date: Sun, 11 May 2014 10:13:49 GMT Server: Apache/2.4.9 (Unix) PHP/5.5.11 X-Powered-By: PHP/5.5.11 location: forum.php Cache-Control: max-age=31104000 Expires: Wed, 06 May 2015 10:13:49 GMT #缓存了12个月 Content-Type: text/html [root@lamp stat]# curl -I 192.168.199.178/static/image/stat/freebsd.gif HTTP/1.1 200 OK Date: Sun, 11 May 2014 10:15:27 GMT Server: Apache/2.4.9 (Unix) PHP/5.5.11 Last-Modified: Fri, 28 Feb 2014 06:52:18 GMT ETag: "24d-4f371e0f74c80" Accept-Ranges: bytes Content-Length: 589 Cache-Control: max-age=62208000 Expires: Sat, 30 Apr 2016 10:15:27 GMT #缓存24个月 Content-Type: image/gif |
申明:本文由BYRD原创(基于Centos6.4 X64、PHP5.5.11、APACHE2.4.9、MYSQL5.6.16),未经许可禁止转载!
参考:http://httpd.apache.org/docs/2.4/zh-cn/mod/mod_expires.html
参考:http://note.t4x.org/system/configure-httpd-MySQL-php/
参考:http://www.hbcms.com/cms/9d/1322.html SourceByrd's Weblog-https://note.t4x.org/environment/apache-mod-expires/
申明:除非注明Byrd's Blog内容均为原创,未经许可禁止转载!详情请阅读版权申明!
Trackbacks