本章结构
一、Apache网页优化
在使用 Apache 作为 Web 服务器的过程中,只有对 Apache 服务器进行适当的优化配置,才能让 Apache 发挥出更好的性能。反过来说,如果 Apache 的配置非常糟糕,Apache可能无法正常为我们服务。因此,针对各种企业应用需求对 Apache 服务器的配置进行一定的优化是必不可少的。
网页优化概述
gzip 介绍
HTTP 压缩的过程
Apache 的压缩模块
Apache 的压缩模块
启用网页压缩功能步骤
重新编译 Apache 添加 mod_deflate 模块
配置 mod_deflate 模块启用
检查安装情况并测试 mod_deflate 压缩是否生效
apache服务器压缩模块怎么安装?
先把apache服务关闭掉,然后cd到解压目录重新配置。
在原有的基础上添加一个压缩模块(deflate)
cd到解压目录
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate
然后:make && make install
使用apachectl -t -D DUMP_MODULES | grep deflate 查看一下有没有这个模块。
然后再查看模块的配置文件
有这个配置文件,那为什么找不到这个模块呢?
配置文件中没有启用这个模块:
在apache配置文件中写入加载此模块的语句,如下:
vim /uar/local/httpd/conf/httpd.conf
在一个空白行写入:
重启服务后,再去检测有没有这个模块。
只是加载了进去,还没有指定启动该模块:
再进入主配置文件:编写以下内容:
LoadModule deflate_module modules/mod_deflate.so
<IfModule mod_deflate.c>
DeflateCompressionLevel 6
SetOutputFilter DEFLATE
AddOutputFilterByType DEFLATE text/html text/plain text/xml text/csstext/javascript application/x-javascript application/javascript application/json
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|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary
AddOutputFilterByType DEFLATE text/*
AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp
</IfModule>
httpd -t 检测一下apache配置文件语法有没有错误;
再重启服务:systemctl restart httpd
打开网页显示有压缩工具就说明成功了:
二、网页缓存
网页缓存是将一部分经常不会改变和变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高了用户的访问速度。
Apache 的 mod_expires 模块会自动生成页面头部信息中的 Expires 标签和Cache-Control 标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要向服务器再次发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流 量和增加访问速度的目的。配置 mod_expires 模块的步骤与 mod_deflate 模块相似。