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 \ \ \ \

相关推荐
胡斌附体2 小时前
小程序难调的组件
前端·小程序·apache·datepicker·自定义组件·checkbox
Apache Flink4 小时前
Apache Flink:从实时数据分析到实时AI
大数据·人工智能·数据分析·flink·apache
learning_tom1 天前
微信小程序功能实现:页面导航与跳转
前端·javascript·apache
有个人神神叨叨1 天前
【Apache Olingo】全面深入分析报告-OData
apache·ea·odata
阿湯哥1 天前
Apache Camel 中 ProducerTemplate
apache
墨菲安全1 天前
Apache OFBiz Scrum 组件命令注入漏洞
apache·scrum·命令注入·apache ofbiz·scrum组件
lang201509282 天前
Apache Ignite的流处理(Streaming)示例程序
开发语言·apache·ignite
失因2 天前
Linux systemd 服务管理与 Firewall 防火墙配置
linux·运维·服务器·centos·apache
SeaTunnel2 天前
从《中国开源年度报告》看中国开源力量的十年变迁中,Apache SeaTunnel 的跃迁
开源·apache
xingzizhanlan2 天前
apache-tomcat-11.0.9安装及环境变量配置
java·tomcat·apache