在centos 6 上yum 安装的httpd,默认没有开启压缩传输和图片过期,严重影响网页加载速度。而这两项功能在前端测试工具pagespeed和yslow里都是最高优先级的网页优化选项,但凡web服务器都需要。


主要针对的是文本、js、css,图片等静态内容,除了图片有较少的压缩价值之外,其余的都可以压缩传输,进行浏览器缓存。


创建一个文件/etc/httpd/conf.d/tunning.conf 可以实现上述功能,是对apache默认行为的有效补充。


<IfModule mod_deflate.c>
         <Location />
                # Insert filter
                SetOutputFilter DEFLATE
                # Netscape 4.x has same problems...
                BrowserMatch ^Mozilla/4 gzip-only-text/html
                # Netscape 4.06-4.08 have some more problems
                BrowserMatch ^Mozilla/4\.0[678] no-gzip
                # MSIE masquerades as Netscape, but it is fine
                # BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
                # NOTE: Due to a bug in mod_setenvif up to Apache 2.0.48
                # the above regex won't work. You can use the following
                # workaround to get the desired effect:
                BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
                # Don't compress p_w_picpaths and other
                SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary
                SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary
                SetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-vary
                AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css
                AddOutputFilterByType DEFLATE application/x-javascript
                # Make sure proxies don't deliver the wrong content
                #Header append Vary User-Agent env=!dont-vary
         </Location>
 </IfModule>
<IfModule mod_expires.c>
        ExpiresActive On
        ExpiresByType p_w_picpath/* "access plus 1 month"
        ExpiresByType text/css "access plus 1 month"
        ExpiresByType text/javascript  "access plus 1 month"
        ExpiresByType application/x-javascript "access plus 1 month"
</IfModule>
<IfModule mod_headers.c>
  Header unset Server
  Header unset X-Powered-By
</IfModule>


另外,作为web服务器,apache不常用的模块,完全可以精简掉。


#LoadModule ldap_module modules/mod_ldap.so
#LoadModule authnz_ldap_module modules/mod_authnz_ldap.so
#LoadModule dav_module modules/mod_dav.so
#LoadModule dav_fs_module modules/mod_dav_fs.so
#LoadModule proxy_module modules/mod_proxy.so
#LoadModule proxy_balancer_module modules/mod_proxy_balancer.so
#LoadModule proxy_ftp_module modules/mod_proxy_ftp.so
#LoadModule proxy_http_module modules/mod_proxy_http.so
#LoadModule proxy_ajp_module modules/mod_proxy_ajp.so
#LoadModule proxy_connect_module modules/mod_proxy_connect.so