Apache2开启Gzip和Expires来提升服务器性能,经过下面设置后,据说性能可以提升一倍哦
在Apache的配置文件中找到下面两行,将注释#去掉,重启。
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
在你网站的目录下新建.htaccess(或直接添加在配置文件下),添加如下内容:
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
解释一下。ExpiresByType是通过MIME类型来设置具体文件的缓存时间,A表示访问,A后面的数字表示访问后的缓存时间。AddOutputFilterByType表示根据后面的MIME类型来压缩文件,这里对css,html,gif,jpeg,png,JavaScript等进行gzip压缩。更多选项请参考apache手册哦。
同理,如果CSS你确定每次更新后都会更改文件名的话,也可以加上
ExpiresByType text/css A2592000
但是如果更新CSS后,没能更改文件名称的话,有可能会造成用户不知道CSS已经更新,而不会去下载最新的CSS,当然CTRL+F5,或是清空缓存是可以的,具体是否需要这条,就自行权衡了
关闭ETag。
Etag的问题在于,它是根据可以辨别网站所在的服务器的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时ETag就会不匹配,这种情况对于使用服务器组和处理请求的网站来说是非常常见的。在配置文件中写入下面一行即可:
FileETag none
如果是多服务器负载均衡,可以设置为FileETag MTime Size,
apache默认设置为FileETag INode MTime Size,去掉INode。
在Apache的配置文件中找到下面两行,将注释#去掉,重启。
LoadModule deflate_module modules/mod_deflate.so
LoadModule expires_module modules/mod_expires.so
在你网站的目录下新建.htaccess(或直接添加在配置文件下),添加如下内容:
ExpiresActive On
ExpiresByType image/gif A2592000
ExpiresByType image/jpeg A2592000
ExpiresByType image/jpg A2592000
ExpiresByType image/png A2592000
ExpiresByType image/x-icon A2592000
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/css image/gif image/jpeg image/png application/x-javascript
解释一下。ExpiresByType是通过MIME类型来设置具体文件的缓存时间,A表示访问,A后面的数字表示访问后的缓存时间。AddOutputFilterByType表示根据后面的MIME类型来压缩文件,这里对css,html,gif,jpeg,png,JavaScript等进行gzip压缩。更多选项请参考apache手册哦。
同理,如果CSS你确定每次更新后都会更改文件名的话,也可以加上
ExpiresByType text/css A2592000
但是如果更新CSS后,没能更改文件名称的话,有可能会造成用户不知道CSS已经更新,而不会去下载最新的CSS,当然CTRL+F5,或是清空缓存是可以的,具体是否需要这条,就自行权衡了
关闭ETag。
Etag的问题在于,它是根据可以辨别网站所在的服务器的具有唯一性的属性来生成的。当浏览器从一台服务器上获得页面内容后到另外一台服务器上进行验证时ETag就会不匹配,这种情况对于使用服务器组和处理请求的网站来说是非常常见的。在配置文件中写入下面一行即可:
FileETag none
如果是多服务器负载均衡,可以设置为FileETag MTime Size,
apache默认设置为FileETag INode MTime Size,去掉INode。