现在的位置: 首页Skills 点滴, Web 网络>正文
利用mod_expires(Apache)提高网页访问速度
2011年04月08日 Skills 点滴, Web 网络 暂无评论

mod_expires模块可以让重复的用户对指定的页面请求结果都Cache缓存在本地,加速网页访问速度的同时降低对数据库的访问。我现在是在Amazon EC2建的wordpress,用的是Amazon一年的免费额度,无奈内存给的偏小,访问流量稍微一高就会因mysql内存耗尽假死,所以优化是必须的,尽量降低对mysql数据库的访问。

mod_expires模块的使用:

1.确认下mod_expires模块是否已经启用。

在apache的conf文件夹内找到httpd.conf,找到“LoadModule expires_module modules/mod_expires.so”,若没被注释#就是在启用状态,不用管它;否则删掉#已启用并重启apache服务;

2.在wordpress根目录下找到.htaccess 文件(或者"分布式配置文件"),打开编辑:

下面内容是从W3 total cache 生成的expires规则摘出来的,应该是比较全的expires规则了(当然你可以用W3 total cache来帮你自动完成这一切 但是我觉着W3在优化的同时本身也给服务器造成负担 可以不用插件为什么还用呢)

  1. # BEGIN W3TC Browser Cache  
  2. <IfModule mod_mime.c>  
  3.     AddType text/css .css  
  4.     AddType application/x-javascript .js  
  5.     AddType text/html .html .htm  
  6.     AddType text/richtext .rtf .rtx  
  7.     AddType image/svg+xml .svg .svgz  
  8.     AddType text/plain .txt  
  9.     AddType text/xsd .xsd  
  10.     AddType text/xsl .xsl  
  11.     AddType text/xml .xml  
  12.     AddType video/asf .asf .asx .wax .wmv .wmx  
  13.     AddType video/avi .avi  
  14.     AddType image/bmp .bmp  
  15.     AddType application/java .class 
  16.     AddType video/divx .divx  
  17.     AddType application/msword .doc .docx  
  18.     AddType application/x-msdownload .exe  
  19.     AddType image/gif .gif  
  20.      AddType image/jpg .jpg  
  21.     AddType application/x-gzip .gz .gzip  
  22.     AddType image/x-icon .ico  
  23.     AddType image/jpeg .jpg .jpeg .jpe  
  24.     AddType application/vnd.ms-access .mdb  
  25.     AddType audio/midi .mid .midi  
  26.     AddType video/quicktime .mov .qt  
  27.     AddType audio/mpeg .mp3 .m4a  
  28.     AddType video/mp4 .mp4 .m4v  
  29.     AddType video/mpeg .mpeg .mpg .mpe  
  30.     AddType application/vnd.ms-project .mpp  
  31.     AddType application/vnd.oasis.opendocument.database .odb  
  32.     AddType application/vnd.oasis.opendocument.chart .odc  
  33.     AddType application/vnd.oasis.opendocument.formula .odf  
  34.     AddType application/vnd.oasis.opendocument.graphics .odg  
  35.     AddType application/vnd.oasis.opendocument.presentation .odp  
  36.     AddType application/vnd.oasis.opendocument.spreadsheet .ods  
  37.     AddType application/vnd.oasis.opendocument.text .odt  
  38.     AddType audio/ogg .ogg  
  39.     AddType application/pdf .pdf  
  40.     AddType image/png .png  
  41.     AddType application/vnd.ms-powerpoint .pot .pps .ppt .pptx  
  42.     AddType audio/x-realaudio .ra .ram  
  43.     AddType application/x-shockwave-flash .swf  
  44.     AddType application/x-tar .tar  
  45.     AddType image/tiff .tif .tiff  
  46.     AddType audio/wav .wav  
  47.     AddType audio/wma .wma  
  48.     AddType application/vnd.ms-write .wri  
  49.     AddType application/vnd.ms-excel .xla .xls .xlsx .xlt .xlw  
  50.     AddType application/zip .zip  
  51. </IfModule>  
  52. <IfModule mod_expires.c>  
  53.     ExpiresActive On  
  54.     ExpiresByType text/css A31536000  
  55.     ExpiresByType application/x-javascript A31536000  
  56.     ExpiresByType text/html A3600  
  57.     ExpiresByType text/richtext A3600  
  58.     ExpiresByType image/svg+xml A3600  
  59.     ExpiresByType text/plain A3600  
  60.     ExpiresByType text/xsd A3600  
  61.     ExpiresByType text/xsl A3600  
  62.     ExpiresByType text/xml A3600  
  63.     ExpiresByType video/asf A31536000  
  64.     ExpiresByType video/avi A31536000  
  65.     ExpiresByType image/bmp A31536000  
  66.     ExpiresByT
    ype application/java A31536000  
  67.     ExpiresByType video/divx A31536000  
  68.     ExpiresByType application/msword A31536000  
  69.     ExpiresByType application/x-msdownload A31536000  
  70.     ExpiresByType image/gif A31536000  
  71.     ExpiresByType application/x-gzip A31536000  
  72.     ExpiresByType image/x-icon A31536000  
  73.     ExpiresByType image/jpeg A31536000  
  74.     ExpiresByType application/vnd.ms-access A31536000  
  75.     ExpiresByType audio/midi A31536000  
  76.     ExpiresByType video/quicktime A31536000  
  77.     ExpiresByType audio/mpeg A31536000  
  78.     ExpiresByType video/mp4 A31536000  
  79.     ExpiresByType video/mpeg A31536000  
  80.     ExpiresByType application/vnd.ms-project A31536000  
  81.     ExpiresByType application/vnd.oasis.opendocument.database A31536000  
  82.     ExpiresByType application/vnd.oasis.opendocument.chart A31536000  
  83.     ExpiresByType application/vnd.oasis.opendocument.formula A31536000  
  84.     ExpiresByType application/vnd.oasis.opendocument.graphics A31536000  
  85.     ExpiresByType application/vnd.oasis.opendocument.presentation A31536000  
  86.     ExpiresByType application/vnd.oasis.opendocument.spreadsheet A31536000  
  87.     ExpiresByType application/vnd.oasis.opendocument.text A31536000  
  88.     ExpiresByType audio/ogg A31536000  
  89.     ExpiresByType application/pdf A31536000  
  90.     ExpiresByType image/png A31536000  
  91.     ExpiresByType application/vnd.ms-powerpoint A31536000  
  92.     ExpiresByType audio/x-realaudio A31536000  
  93.     ExpiresByType application/x-shockwave-flash A31536000  
  94.     ExpiresByType application/x-tar A31536000  
  95.     ExpiresByType image/tiff A31536000  
  96.     ExpiresByType audio/wav A31536000  
  97.     ExpiresByType audio/wma A31536000  
  98.     ExpiresByType application/vnd.ms-write A31536000  
  99.     ExpiresByType application/vnd.ms-excel A31536000  
  100.     ExpiresByType application/zip A31536000  
  101. </IfModule>  
  102. <IfModule mod_deflate.c>  
  103.     <IfModule mod_setenvif.c>  
  104.         BrowserMatch ^Mozilla/4 gzip-only-text/html  
  105.         BrowserMatch ^Mozilla/4\.0[678] no-gzip  
  106.         BrowserMatch \bMSIE !no-gzip !gzip-only-text/html  
  107.         BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html  
  108.     </IfModule>  
  109.     <IfModule mod_headers.c>  
  110.         Header append Vary User-Agent env=!dont-vary  
  111.     </IfModule>  
  112.     AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon  
  113. </IfModule>  
  114. <FilesMatch "\.(css|js)$">  
  115.     <IfModule mod_headers.c>  
  116.         Header set Pragma "public" 
  117.         Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
  118.     </IfModule>  
  119.     FileETag MTime Size  
  120.     <IfModule mod_headers.c>  
  121.          Header set X-Powered-By "W3 Total Cache/0.9.1.3" 
  122.     </IfModule>  
  123. </FilesMatch>  
  124. <FilesMatch "\.(html|htm|rtf|rtx|svg|svgz|txt|xsd|xsl|xml)$">  
  125.     <IfModule mod_headers.c>  
  126.         Header set Pragma "public" 
  127.         Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
  128.     </IfModule>  
  129.     FileETag MTime Size  
  130.     <IfModule mod_headers.c>  
  131.          Header set X-Powered-By "W3 Total Cache/0.9.1.3" 
  132.     </IfModule>  
  133. </FilesMatch>  
  134. <FilesMatch "\.(asf|asx|wax|wmv|wmx|avi|bmp|class|divx|doc|docx|exe|gif|gz|gzip|ico|jpg|jpeg|jpe|mdb|mid|midi|mov|qt|mp3|m4a|mp4|m4v|mpeg|mpg|mpe|mpp|odb|odc|odf|odg|odp|ods|odt|ogg|pdf|png|pot|pps|ppt|pptx|ra|ram|swf|tar|tif|tiff|wav|wma|wri|xla|xls|xlsx|xlt|xlw|zip)$">
    60; 
  135.     <IfModule mod_headers.c>  
  136.         Header set Pragma "public" 
  137.         Header set Cache-Control "public, must-revalidate, proxy-revalidate" 
  138.     </IfModule>  
  139.     FileETag MTime Size  
  140.     <IfModule mod_headers.c>  
  141.          Header set X-Powered-By "W3 Total Cache/0.9.1.3" 
  142.     </IfModule>  
  143. </FilesMatch>  
  144. # END W3TC Browser Cache  

我依葫芦画瓢 加了条对jpg文件的缓存设置 “AddType image/jpg .jpg”

其中缓存时间是设成了31536000秒,也就是一年。你可以设小些,但最好别超一年(好像是违反W3C规定?)

0

给我留言

留言无头像?

×
腾讯微博