apache 下配置gzip 和静态文件缓存

<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">在很多情况下需要客户短开启缓存,文件打开gzip压缩来加快页面加载速度。</span>

一.首先看下开启页面缓存(也就是经常说的页面过期时间)

1.apache中需要增加

LoadModule expires_module modules/mod_expires.so

如果是前面加了警号需要把警号去掉

2.增加如下代码

<IfModule expires_module>

#打开缓存

ExpiresActive on

#文件缓存864000/3600/24=10天

ExpiresByType
text/css A864000

ExpiresByType
application/x-javascript A864000

ExpiresByType
application/javascript A864000

ExpiresByType
text/html A864000

ExpiresByType
image/jpeg A864000

ExpiresByType
image/gif A864000

ExpiresByType
image/png A864000

ExpiresByType
image/x-icon A864000

</IfModule>

ExpiresByType
 是文件的MIME类型 可以直接指定过期的类型

重启apache 服务器 service httpd restart

重新刷新几下网页

在chrome 下可以看到

  1. Cache-Control:max-age=864000
    Connection:close
    Date:Wed, 28 May 2014 06:57:55 GMT
    ETag:"d9233e-452-4fa5f3d0de300"
    Expires:Sat, 07 Jun 2014 06:57:55 GMT
    Server:Apache/2.2.15 (CentOS)
    
  2. 可以看到有效期Cache-control;过期时间是10天

二. 开启gzip压缩

apache有两种压缩方式 mod_deflate
 和  mod_gzip

以 mod_deflate为例子 先看看是否开启了对应的模块

LoadModule deflate_module modules/mod_deflate.so

如果已经开启了

直接在 httpd.conf 或者在 .htaccess 文件中 增加

<ifmodule mod_deflate.c>
DeflateCompressionLevel 6
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE text/javascript
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
AddOutputFilterByType DEFLATE image/svg+xml
</ifmodule>
  1. 重启apache就可以了 刷新chrome可以看到 size 的大小
  2. 压缩比例还是不错的!

关于 mod_deflate
 和  mod_gzip  可以参照 http://www.xmydlinux.org/201108/604.html

MIME
类型可以参照 http://www.iana.org/assignments/media-types/media-types.xhtml

apache 下配置gzip 和静态文件缓存

时间: 2024-10-25 02:19:22

apache 下配置gzip 和静态文件缓存的相关文章

Apache配置用户认证、域名跳转、日志轮询、静态文件缓存、防盗链

使用版本为httpd-2.2.29 源码编译安装环境. 1.配置网站用户认证 编辑虚拟机主机配置文件 /usr/local/apache2/conf/extra/httpd-vhosts.conf,在虚拟主机配置文件段内加入绿色标示代码: <VirtualHost *:80> DocumentRoot "/data/www" ServerName www.123.com ServerAlias www.a.com www.b.com     <Directory *&

Linux centos7 VMware Apache访问日志不记录静态文件、访问日志切割、静态元素过期时间

一.Apache访问日志不记录静态文件 网站大多元素为静态文件,如图片.css.js等,这些元素可以不用记录 vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf //改为如下 把虚拟主机配置文件改成如下: <VirtualHost *:80> DocumentRoot "/data/wwwroot/www.123.com" ServerName www.111.com ServerAlias 111.com SetEn

tomcat 6 利用ExpiresFilter控制静态文件缓存

在tomcat7下面 利用ExpiresFilter来控制静态文件缓存很方便,按照tomcat官网手动配置即可: 但是tomcat6 里面并没有 org.apache.catalina.filters.ExpiresFilter 这个接口类. 解决办法如下:引入 ExpiresFilter-1.0.0.jar下载jar:http://files.cnblogs.com/files/qiaoyihang/ExpiresFilter-1.0.0.zip下载源码: https://github.com

LAMP架构(apache访问日志不记录静态文件,静态元素过期时间,apache日志切割)

一.apache访问日志不访问静态文件 浏览器打开后按f12会会出现一个界面,点network,会出现很多请求,访问日志里会记载,有些静态的图片或者文件也会记载,太浪费磁盘空间和磁盘io.所以我们要让日志不记录静态文件 [[email protected] ~]# vim /usr/local/apache2.4/conf/extra/httpd-vhosts.conf SetEnvIf Request_URI ".*\.gif$" img SetEnvIf Request_URI &

apache下配置php环境

1. apache下载 http://httpd.apache.org/download.cgi 2. php下载 http://windows.php.net/download/ 3. 配置 apache安装目录下conf/httpd.conf 加入如下代码: LoadModule php5_module "C:/Program Files/PHP/php5apache2_2.dll" //加载php目录下的模块 PHPIniDir "C:/Program Files/PH

[django]windows下用Django,静态文件请求失败,出现UnicodeDecodeError

问题:windows下用Django,静态文件请求失败,出现UnicodeDecodeError:'utf-8' codec can't decode byte 0xb0 in position 1:invalid start byte,怎么解决啊? 回答:应该是静态文件的格式问题.也许它的编码是GBK的,你用UTF-8解,就解不开.用记事本打开,另存一个UTF-8格式.

apache 配置静态文件缓存和开启gzip压缩

1,设置文件静态缓存3天: 在httpd.conf 里添加如下代码: #文件静态缓存配置 <IfModule expires_module> #打开缓存 ExpiresActive on #文件缓存259200/3600/24=3天 ExpiresByType text/css A259200 ExpiresByType application/x-javascript A259200 ExpiresByType application/javascript A259200 ExpiresBy

apache配置静态文件缓存

设置静态内容缓存,就是让网页里的图片还有js.css这些资源.包括页面缓存到本地而不是每次都去服务器请求资源,而是设置规定的时间,这样做可以减轻服务器的带宽压力和使网页打开速度加快,这样以来用户体验就会好一些.那么如何来设置缓存时间呢? 先确认apache是否加载mod_expires # /usr/local/apache2/bin/apachectl -M|grep -i expires expires_module (shared)  //如没有任何显示,说明需要先编译expires模块

Discuz!NT静态文件缓存(SQUID)

在目前最新版本的产品中,我们提供了缓存静态文件的解决方案,就是使用SQUID做静态前端,将论坛中的大部分静态文件布署或外链到一个新的HTTP链接上,其中可以外链的静态文件包括: 1.Discuz.web/Javascript/ 下所有以‘template_’打头的JS文件以及该文件夹下的部分js文件.     2.模版文件夹下的所有CSS或IMAGE文件(空间相册文件夹除外)     3.前台Image文件夹下的Medal(勋章),Topicidentify(主题鉴定图标)下的所有文件. 同时在