Apache配置---静态元素过期时间

介绍

如果服务器上的某个图片更改了,那么应该访问新的图片才对。这就涉及一个静态文件缓存时长的问题,也叫作“缓存过期时间”。在httpd的配置文件中,我们是可以控制这个时间的。

配置
  • 在httpd上我们可以控制文件过期时间,配置如下:
  • #vim /usr/local/apache2 .4/conf/extra/httpd-vhosts.conf

<VirtualHost *:80>
ServerAdmin webmaster@dummy-host.example.com
DocumentRoot “/usr/local/apache2.4/docs/www.111.com”
ServerName www.111.com
ServerAlias 111.com
< IfModule mod_expires.c>
ExpiresActive on
ExpiresByType image/gif "access plus 1 days“
ExpiresByType image/jpeg “access plus 24 hours”
ExpiresByType image/png "access plus 24 hours’
ExpiresByType text/css “now plus 2 hour”
ExpiresByType application/x-javascript “now plus 2 hours”
ExpiresByType application/javascript “now plus 2 hours”
ExpiresByType application/x-shockwave-flash “now plus 2 hours”
ExpiresDefault “now plus 0 min”
< /IfModule>
ErrorLog “logs/111.com-error_log”
CustomLog “logs/111.com-access_log” combined
< /VirtualHost>

  • //这里gif,jpeg, png格式的文件过期时长为1天,css. js. flash格式的文件过期时长为2小时

  • 保存配置后,测试配置文件是否正确,没有错误重新加载服务:

  • #/usr/local/apache2.4/bin/apachectl -t
    Syntax OK
    #/usr/local/apache2.4/bin/apachectl graceful

配置验证
  • 检查httpd是否加载expires模块:

  • #/usr/local/apache2.4/bin/apachectl -M |grep -i expires
    //没有输出则说明当前httpd并不支持expires模块,所以需要修改配置文件

  • #vim /usr/local/apache2.4/conf/httpd.conf
    //搜索关键词expires,找到这一行
    在这里插入图片描述

  • #LoadModule expires_ module modules/mod_ expires .so
    //把前面#删掉

  • #/usr/local/apache2.4/bin/apachectl graceful
    //重新加载服务

  • #/usr/local/apache2.4/bin/apachectl -M|grep -i expires
    expires_module(share)
    //有这行输出说明正确加载expires模块

  • 测试

  • 上传111.jpeg文件

  • #curl -xlocalhost:80 www.111.com/image/111.jpeg -I
    //max-age=86400说明将缓存86400秒,max-age=0说明没有该类型缓存文件

验证成功

在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值