Apache网页优化

1:网页压缩

网站访问速度影响因素:应用程序响应速度、网络带宽、服务器性能、与客户端之间网络传输速度等。其中最重要的是=一个因素是Apache本身,因此提升Apache执行速度(使用网页压缩)是性价比最高的选择。

(1)gzip介绍

一种流行的文件压缩算法,大约可以减少70%以上的文件大小。利用Apache的gzip模块可使用该算法对网页内容进行压缩后再传输给客户端浏览器,从而加快网页加载速度

(2)HTTP压缩过程

1.服务器接收到HTTP请求后,先检查浏览器是否支持压缩(Accept-Encoding信息)

2.如果支持,服务器将检查请求文件的后缀,如HTML,CSS等静态文件,服务器会在压缩缓存目录中查找是否存在最新的压缩文件

3.如果不存在最新压缩文件,服务器会返回未压缩的请求文件,并在缓存目录中存放该请求的压缩文件

4.如果存在新压缩文件,则直接返回请求的压缩文件

5.如果请求是动态文件,则服务器会动态压缩内容并返回浏览器,但内容不会存放到缓存目录中

(3)Apache的压缩模块

1.Apache 1.x系列没有内江网页压缩技术,使用的是第三方mod_gzip模块进行压缩

2.x系列内建了mod_deflate模块来取代mod_gzip

3.mod_gzip对服务器cpu占用更高,但压缩效率更高

2.查看浏览器支持哪些压缩

mod_deflate 模块

检查是否安装有 mod_deflate 模块

root@www \~\]# apachectl -t -D DUMP_MODULES \| grep deflate (1)安装时启用此功能 安装时编译 Apache 添加 mod_deflate 模块 \[root@apache \~\]# ****tar zxf httpd-2.4.25.tar.gz**** \[root@apache \~\]# ****cd httpd-2.4.25/**** \[root@apache ttpd-2.4.25\]#****./configure**** ****--prefix=/usr/local/httpd**** ****--enable-so**** ****--enable-rewrite**** ****--enable-charset-lite**** ****--enable-cgi**** ****--enable-deflate**** \[root@apache httpd-2.4.25\]#****make \&\& make install**** \[root@apache httpd-2.4.25\]#****ln -s /usr/local/httpd/bin/\***** ****/usr/local/bin**** \[root@localhost htdocs\]# vim /usr/local/httpd/conf/httpd.conf LoadModule deflate_module modules/mod_deflate.so \ AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png DeflateCompressionLevel 9 SetOutputFilter DEFLATE \ (2)利用apxs为http扩展此功能 如果有apache的源码,可以重新编译并安装一次,新的模块就会添加进去,如果没有源码,或不想重新编译,可以使用apxs扩展此模块,方法如下 \[root@www \~\]# yum -y install zlib-devel \[root@www \~\]# cd httpd-2.4.25/modules/filters/ \[root@www filters\]# /usr/local/httpd/bin/apxs -i -c -a mod_deflate.c 备注: -i 安装 -c 编译指定模块 -a激活模块 (2)配置 mod_deflate 模块启用 \[root@apache\~\]# ****vim /usr/local/httpd/conf/httpd.conf**** 添加以下内容: LoadFile /usr/lib64/libz.so LoadModule deflate_module modules/mod_deflate.so LoadFile /usr/lib64/libz.so LoadModule deflate_module modules/mod_deflate.so \ AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png DeflateCompressionLevel 9 SetOutputFilter DEFLATE \ \[root@www httpd-2.4.25\]# httpd -t \[root@www httpd-2.4.25\]# apachectl restart \[root@localhost httpd-2.4.25\]# apachectl -t -D DUMP_MODULES \| grep deflate deflate_module (shared) (3)测试 mod_deflate 压缩模块是否生效 访问网站: [http://192.168.10.101/test1.php](http://192.168.10.101/test1.php "http://192.168.10.101/test1.php") ### **网页缓存** 1:配置 mod_expires 模块启用 \[root@apache\~\]# ****vim /usr/local/httpd/conf/httpd.conf**** LoadModule expires_module modules/mod_expires.so ##去掉前面的注释 \ ExpiresActive On ExpiresDefault "access plus 60 seconds" \ 备注: ExpiresActive On:打开网页缓存功能 ExpiresDefault "access plus 60 seconds" :设置缓存60秒 2:检测 httpd.conf 语法 \[root@www \~\]# apachectl -t 3:重启 Apache 服务 \[root@www \~\]# apachectl restart 4:测试mod_expires 模块 访问网站: [http://192.168.10.101/test1.php](http://192.168.10.101/test1.php "http://192.168.10.101/test1.php") ### **隐藏版本信息** 1:修改主配置文件 \[root@www \~\]# vim /usr/local/httpd/conf/httpd.conf 去掉前面的注释符 Include conf/extra/httpd-default.conf 2:修改httpd-default.conf文件 \[root@www \~\]# vim /usr/local/httpd/conf/extra/httpd-default.conf ServerTokens Prod ServerTokens字段代表显示格式,各种格式如下: Prod Server:Apache Major Server:Apache/2 Minor Server:Apache/2.4 OS Server: Apache/2.4.25 (Unix) Full Server: Apache/2.4.25 (Unix) PHP/4.2.2 MyMod/1.2 重启并测试 \[root@www \~\]# apachectl restart 查看响应头,Server字段只显示Apache,不再显示版本信息 ****Apache**** ****防盗链**** 将第一台服务器直接克隆一个,并修改IP地址为192.168.10.201 3:修改两台服务器的主机名 (1)服务器1 \[root@www \~\]# hostnamectl set-hostname apache1 \[root@www \~\]# bash (2)服务器2 \[root@www \~\]# hostnamectl set-hostname apache2 \[root@www \~\]# bash (3)修改每个主机的hosts文件 192.168.10.101 www.benet.com 192.168.10.102 www.accp.com 4:编写带有图片的网页(原图网站) 将图片文logo.jpg件拷贝到apache的网站根目录下并修改网页文件 \[root@apache1 \~\]# vim /usr/local/httpd/htdocs/index.html \ \ \It work! \ \ \ \ 5:用另一台apache服务器盗链(盗图网站) 在 www.accp.com 服务器,修改 index.html 文件,加入盗取图片链接 \[root@apache2 \~\]# vim /usr/local/httpd/htdocs/index.html \ \ \dao lian \ \ \ \

相关推荐
SelectDB技术团队1 小时前
Apache Doris 自动分区:如何应对分布式环境下的复杂并发挑战|Deep Dive
分布式·apache
StarRocks_labs13 小时前
StarRocks 4.0:让 Apache Iceberg 数据真正 Query-Ready
apache·数据湖·shuffle·starrocks 4.0·query-ready
武子康21 小时前
大数据-154 Apache Druid 架构与组件职责全解析 版本架构:Coordinator/Overlord/Historical 实战
大数据·后端·apache
老罗-Mason2 天前
Apache Flink运行环境搭建
python·flink·apache
HashData酷克数据2 天前
Apache Cloudberry 孵化报告(202508-202510)
apache
迦蓝叶3 天前
Apache Jena:利用 SPARQL 查询与推理机深度挖掘知识图谱
java·数据挖掘·apache·知识图谱·查询·知识挖掘·推理机
JosieBook3 天前
【数据库】Apache IoTDB数据库在大数据场景下的时序数据模型与建模方案
数据库·apache·iotdb
SeaTunnel3 天前
结项报告完整版 | Apache SeaTunnel支持metalake开发
apache
迦蓝叶4 天前
Apache Jena 知识图谱持久化:选择适合你的存储方案
人工智能·开源·apache·知识图谱·持久化·存储·jena
q***98524 天前
【保姆级教程】apache-tomcat的安装配置教程
java·tomcat·apache