文章目录
Apache 网页优化之配置页面压缩功能和缓存
网页压缩
解压软件包
[root@promote opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
将解压出来的两个apr包移动到httpd目录的编译安装目录下
[root@promote opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@promote opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
ps:在srclib下面有一个Makefile.in目录
Makefile的宗旨就是:让编译器知道要编译一个文件需要依赖其他的哪些文件
安装编译所需要的组件
[root@promote opt]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
PS:各行含义
gcc:编译器
gcc-c++:编译器
make:编译器,从Makefile中读取指令,然后编译
pcre-devel:支持正则表达式
expat-devel:支持解析xml文件
perl:支持perl语言
[root@promote opt]cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# yum -y install zlib-devel 安装支持压缩功能依赖包工具
[root@promote httpd-2.4.29]# ./configure \
--prefix=/usr/local/httpd \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
[root@localhost httpd-2.4.29]# make && make install
编辑配置文件,开启三大核心功能模块
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd
[root@localhost httpd-2.4.29]# vim /etc/httpd
确保112、105、101三个模块必须开启(前面没有注释符号#):
LoadModule headers_module modules/mod_headers.so ## 头部模块
LoadModule deflate_module modules/mod_deflate.so ## 压缩模块(这个没有开启需要开启)
LoadModule filter_module modules/mod_filter.so ## 过滤器模块
ServerName www.example.com:80
Listen 192.168.136.88:80
#Listen 80
##########在最末行添加deflate模块的控制字段#############
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain test/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>
验证语法是否正确
[root@localhost httpd-2.4.29]# /usr/local/httpd/bin/httpd -t
Syntax OK
[root@localhost httpd-2.4.29]# iptables -F
[root@localhost httpd-2.4.29]# setenforce 0
验证deflate模块是否开启
[root@localhost ~]# cd /usr/local/httpd/bin/
./apachectl -t -D DUMP_MODULES | grep "deflate"
如果返回为: deflate_module (shared) 则表示模块已经开启
开启服务
[root@localhost ~]# cd /usr/local/http/conf/
[root@localhost conf]# /usr/local/httpd/bin/httpd
[root@localhost conf]# netstat -natp | grep 80 查看一下端口
tcp 0 0 192.168.136.88:80 0.0.0.0:* LISTEN 50335/httpd
tcp 0 0 192.168.136.88:22 192.168.136.2:55805 TIME_WAIT -
为网站写一个首页
[root@localhost conf]# cd /usr/local/http/htdocs/
[root@localhost htdocs]# ll
总用量 96
-rw-r--r--. 1 root root 88108 8月 6 10:23 game.jpg 图片的导进来
[root@localhost htdocs]# vim index.html
<html><body><h1>this is kyo3
<img src="game.jpg"/> ####添加一个图片
</h1></body></html>
在客户机上安装并运行Fiddler软件,打开软件就会自动进入抓包模式
软件刚启动的时候进行弹框,点击“否”即可
网页缓存
需要的压软件包
[root@promote opt]# ls
apr-1.6.2.tar.gz apr-util-1.6.0.tar.gz httpd-2.4.29.tar.bz2
[root@localhost opt]# tar jxvf httpd-2.4.29.tar.bz2
[root@localhost opt]# tar zxvf apr-1.6.2.tar.gz
[root@localhost opt]# tar zxvf apr-util-1.6.0.tar.gz
[root@promote opt]# mv apr-1.6.2 httpd-2.4.29/srclib/apr
[root@promote opt]# mv apr-util-1.6.0 httpd-2.4.29/srclib/apr-util
安装编译所需要的组件
[root@promote opt]# yum -y install \
gcc \
gcc-c++ \
make \
pcre-devel \
expat-devel \
perl
PS:各行含义
gcc:编译器
gcc-c++:编译器
make:编译器,从Makefile中读取指令,然后编译
pcre-devel:支持正则表达式
expat-devel:支持解析xml文件
perl:支持perl语言
[root@promote opt]cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# yum -y install zlib-devel 安装支持压缩功能依赖包工具
[root@promote httpd-2.4.29]# ./configure \
--prefix=/usr/local/http \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi
[root@localhost httpd-2.4.29]# make && make install
编辑修改http服务配置文件
[root@localhost httpd-2.4.29]# vi /usr/local/httpd/conf/httpd.conf ## 编辑配置文件
LoadModule expires_module modules/mod_expires.so
在配置文件末尾插入以下内容:
<IfModule mod_expires.c>
ExpiresActive on
ExpiresDefault "access plus 50 seconds"
</IfModule>
开启服务
[root@localhost ~]# cd /usr/local/httpd/bin/ ## 进入bin目录
[root@localhost bin]# ./apachectl -t ## 使用命令检查语法
返回:Syntax OK 则没有问题
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"
返回:expires_module (shared) 则没有问题
[root@localhost bin]# /usr/local/http/bin/httpd 开启服务
再打开浏览器访问192.168.136.88
抓包查看
可查看到缓存时间