Chinaunix首页 | 论坛 | 博客
  • 博客访问: 135517
  • 博文数量: 118
  • 博客积分: 2360
  • 博客等级: 大尉
  • 技术积分: 2025
  • 用 户 组: 普通用户
  • 注册时间: 2008-03-21 21:26
文章分类

全部博文(118)

文章存档

2011年(1)

2010年(28)

2009年(65)

2008年(24)

我的朋友

分类: 系统运维

2009-10-29 14:11:27

      如何加快自己的网站的速度,应该是各位站长、博主比较关心的问题。一个站点的打开速度关系到很多方面的内容,如服务器性能、网络速度及站点的网页设计等等。
      在Yahoo! Developer Network中的Best Practices for Speeding Up Your Web Site一文中就介绍了34种加速你的网站的建议。其中3项就涉及有关Web服务器的优化内容,这篇文章就是专门针对这3项建议来对Apache进行相应的设置,以达到网站加速的目的。
      为文件设置过期时间
      这样做的目的就是控制浏览器缓存我们不经常修改的文件,如图片、css、js等等,这样当浏览者打开另外一个网页的时候就减少了文件的下载,达到了加快网站速度的目的。要实现让Apache增加文件有效期让浏览器缓存可以用两种办法实现: 
      第一种:利用mod_headers模块为文件增加有效期
      加载mod_headers模块,在配置文件中增加: 
      LoadModule headers_module modules/mod_headers.so
配置mod_headers模块,设置jpg jpeg gif png ico js css swf flv等文件的Expires:(Expires头只能为固定的时间,形象点说就好像商品的过期时间。这样做的目的是为了兼容不支持Cache-Control的浏览器,如果设置了Cache-Control且浏览器支持Cache-Control的话就优先采用Cache-Control的设置,当然目前大部分浏览器支持Cache-Control文件头)

        Header set Expires "Thu, 15 Apr 2010 20:00:00 GMT"

配置mod_headers模块,设置jpg jpeg gif png ico js css swf flv等文件的Cache-Control:(Cache-Control控制更为灵活一些,它设置的是一个有效时间,就好比商品的保质期,下面的604800单位为秒,就是设置文件的有效时间为为1星期)

        Header set Cache-Control "max-age=604800"

第二种:利用mod_expires模块为文件增加Expires
加载mod_expires模块,在配置文件中增加:
LoadModule expires_module modules/mod_expires.so
配置mod_expires模块:
ExpiresActive On
ExpiresDefault "access plus 1 month"
ExpiresByType image/x-icon "access plus 1 month"
ExpiresByType application/x-javascript "access plus 1 weeks"
ExpiresByType text/css access plus 3 days
ExpiresByType image/gif "access plus 1 month"
ExpiresByType image/png "access plus 1 month"
ExpiresByType image/jpeg "access plus 1 month"
ExpiresByType text/plain "access plus 1 weeks"
ExpiresByType application/x-shockwave-flash "access plus 1 month"
ExpiresByType video/x-flv "access plus 1 month"
ExpiresByType application/pdf "access plus 1 month"
ExpiresByType text/html "access plus 1 weeks"
开启Gzip压缩
要让Apache实现Gzip压缩需要开启mod_deflate模块和mod_headers模块,前面已经开启了mod_headers模块,这里就再开启mod_deflate模块即可,打开Apache配置文件,添加:
LoadModule deflate_module modules/mod_deflate.so
配置mod_deflate模块,让其压缩html xml css php js等文件:


  AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/x-httpd-php application/x-javascript
  AddOutputFilter DEFLATE html xml css php js

关闭ETags
即使设置了Expires或者Cache-Control,有时浏览器在访问资源时往往会因为ETag的存在而重新下载整个资源,所以简单的做法是关闭它们:
FileETag None
相信设置好上面3项以后你的站点浏览速度会提高很多,如果自己感觉不到速度的提升,不妨安装Firefox的YSlow插件来检测一下你的设置是否成功。
阅读(190) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~