linux下,apache 如何开启gzip?
首先登录服务器,
查找 httpd.conf 这个配置文件在什么位置,如果你知道,直接运行命令
cd **/ 进入apache配置文件所在的目录。
vim httpd.conf
如果你不清楚apache安装在什么位置,那么可以使用
find / -name "httpd.conf"
找找看在什么位置
然后使用命令
vim httpd.conf
打开配置文件,要开启gzip需要打开 mod_deflate.so和mod_headers.so
具体做法为将 如下两句前面的#去掉:
LoadModule deflate_module modules/mod_deflate.so
LoadModule headers_module modules/mod_headers.so
如果已经去掉前边的#号,则不用管它了。
再次复制下面的代码,放在httpd.conf的最下面 或其他的的位置
SetOutputFilter DEFLATE# Don’t compress images and otherSetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-varySetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-varySetEnvIfNoCase Request_URI .(?:pdf|doc)$ no-gzip dont-varyAddOutputFilterByType DEFLATE text/html text/plain text/xml text/cssAddOutputFilterByType DEFLATE application/x-javascript
看代码截图:
以上做完操作后,需要重新启动apache
命令:
service httpd restart
经过以上的配置,gzip是开启成功了。
可以通过火狐或谷歌的header 来查看。
开启静态文件缓存:
开启缓存需要开启 mod_expires.so 那么找到这个配置,把前边的# 去掉,就开启了此服务,
LoadModule expires_module modules/mod_expires.so
但还需要加上一个配置
#打开缓存
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
这个配置文件加载哪里呢?
也是有两种方式 :
1、全部网站都缓存
如果是全部网站都加上,那么直接编辑
vim httpd.conf
把上面的代码,复制到httpd.conf这里。可以放在最后面,也可以和上边的gzip的代码放在一起。
2、单个网站加缓存
如果是单个网站的话,直接加在一个 VirtualHost 这里,这只是对一个站点起作用。
ExpiresByType 是文件的MIME类型 可以直接指定过期的类型
以上做完操作后,需要重新启动apache
命令:
service httpd restart
以上两项内容配置完毕。