文章目录

    • 前言:
    • 一、Apache网页优化
      • 1.1 网页压缩
        • 1.1.1 Apcahe网页优化概述
        • 1.1.2 gzip介绍
        • 1.1.3 Apache的压缩模块
        • 1.1.4 配置网页压缩功能
    • 二、Apache网页压缩实验
      • 2.1 手工编译apache
        • 2.1.2 修改配置文件
        • 2.1.3 验证模块
      • 2.2 验证
  • 总结:

前言:

Apache作为最常用的网站服务器,其在部署之后都是使用默认配置。

如今针对不同的生产环境,我们需要作出不同的优化方案,不仅要考虑Apache的稳定,更要考虑其安全性

一、Apache网页优化

1.1 网页压缩
1.1.1 Apcahe网页优化概述
  • 在企业中,部署Apache后采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置,以前的配置以及不适合当今互联网时代

  • 为了适应企业的需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容

  • 优化内容

    配置网页压缩功能

    工作模式的选择和参数优化

    防盗链

    隐藏版本号

1.1.2 gzip介绍
  • 配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户浏览器

  • 作用

    降低了网络传输的字节数,加快网页加载的速度

    节省流量,改善用户的浏览体验

    gzip与搜索引擎的抓取工具有着更好的关系

1.1.3 Apache的压缩模块
  • Apache实现网页压缩功能的模块介绍

    mod_gzip 模块

    mod_deflate 模块

  • Apache 1.x

    没有内建网页压缩技术,但可以使用第三方的mod_gzip模块执行压缩

  • Apache 2.X

    再开发的时候,内建了mod_deflate 这个模块,取代mod_gzip

  • mod_gzip模块与mod_deflate模块

    两者均使用gzip压缩算法,运作原理类似

    mod_deflate压缩速度略快,而mod_gzip的压缩比略高

    mod_gzip对服务器CPU占用要高一些

    高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快

1.1.4 配置网页压缩功能
  • 启用网页压缩功能步骤

    查看是否安装mod_deflate模块

    修改配置文件,启用压缩功能

    抓包测试

  • 查看是否安装mod_deflte模块

    执行apache -t D DUMP_MODULES命令

    如果输出中没有deflate_module(static),说明编译时没有安装mod_deflate模块

    没有安装则需要重新编译安装

    ./configure --enable-deflate…

    make && make install

  • 在配置httpd.conf中配置开启gzip功能

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript #代表对什么样的内容启用gzip压缩
DeflateCompressionLevel  #代表压缩级别
SetOutputFilter DEFLATE  #代表启用deflate模块对本站点的输出进行gzip压缩

二、Apache网页压缩实验

2.1 手工编译apache
[root@localhost ~]# smbclient -L //192.168.181.1/
Enter SAMBA\root's password:
OS=[Windows 10 Education 18362] Server=[Windows 10 Education 6.3]Sharename       Type      Comment---------       ----      -------ADMIN$          Disk      远程管理C$              Disk      默认共享LAMP-C7         Disk      ruanjianbao     Disk      Users           Disk      安装包       Disk
...............省略部分内容
[@localhost ~]# mount.cifs //192.168.181.1/LAMP-C7 /mnt
Password for root@//192.168.181.1/LAMP-C7:
[@localhost ~]# cd /mnt
[root@localhost mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  mha.rar
apr-1.6.2.tar.gz                  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
apr-util-1.6.0.tar.gz             LNMP-C7                  php-5.6.11.tar.bz2
awstats-7.6.tar.gz                LNMP-C7.rar
cronolog-1.6.2-14.el7.x86_64.rpm  mha
  • 解压跨平台组件包和源码包
[root@localhost mnt]# tar zxvf apr-1.6.2.tar.gz -C /opt
[root@localhost mnt]# tar zxvf apr-util-1.6.0.tar.gz -C /opt
...............省略部分内容
[root@localhost mnt]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt
...............省略部分内容
[root@localhost mnt]# cd /opt
[root@localhost opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
  • 安装编译器和其他工具
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util
[root@localhost opt]#yum -y install \
gcc \               #编译器
gcc-c++ \         #编译器
make \              #make工具
pcre-devel \        #支持正则表达式的工具
expat-devel \       #使网站能够解析标签语言的工具
perl \              #perl语言工具
zlib-devel          #支持压缩功能的环境包
2.1.2 修改配置文件
[root@localhost conf]# ln -s /usr/local/httpd/conf/ /etc/httpd.conf   #建立软链接,便于管理

进入配置文件,开启压缩功能,确认请求头部配置项与filter 过滤器功能均已开启**(如检查没有三种功能则需要检查之前的配置并重新编译安装)**

LoadModule filter_module modules/mod_filter.so
#搜索/filter(确认101行filter中的过滤器功能开启)
LoadModule deflate_module modules/mod_deflate.so
#搜索/deflate(开启105行压缩功能)
LoadModule headers_module modules/mod_headers.so
#搜索/headers(确认112行的请求头部功能开启)

以上功能模块都确认开启后,在配置文件末尾加上如下信息

<IfModule mod_deflate.c>AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascrip text/jpg text/pngDeflateCompressionLevel 9SetOutputFilter DEFLATE
</IfModule>
#支持网页、javascrip图片、jpg、png图片,可添加,格式为text/文件扩展名
#DeflateCompressionLevel 9 高压缩比(减少链路带宽、流量)
#SetOutputFilter DEFLAT  让deflat作为默认的过滤器加载

修改监听端口和域名

Listen 192.168.181.173:80        #开启ipv4监听,ip地址指向本机(51行)
#Listen 80                      #关闭ipv6端口监听(52行)
ServerName www.demo.com:80      #将域名修改为demo(198行)
----------》wq
[root@localhost conf]# /usr/local/httpd/bin/apachectl -t  #检查语法
Syntax OK

启动服务

[root@localhost conf]# /usr/local/httpd/bin/apachectl start     #使用启动脚本的方式启动apache
[root@localhost conf]# systemctl stop firewalld.service
[root@localhost conf]# setenforce 0
#关闭防火墙和增强性安全功能
2.1.3 验证模块
  • 查看站点首页
[root@localhost conf]# cd ..
[root@localhost httpd]# ls
bin  build  cgi-bin  conf  error  htdocs  icons  include  lib  logs  man  manual  modules
[root@localhost httpd]# cd htdocs   #httpd的站点首页在htdocs中
[root@localhost htdocs]# ls
index.html
[root@localhost htdocs]# cat index.html  #可以在站点首页简单修改(例如嵌入图片)
<html><body><h1>It works!</h1></body></html>

验证模块

[root@localhost htdocs]# cd /usr/local/httpd/bin/ #进入启动脚本目录bin/
[root@localhost bin]# ls
ab         apr-1-config  apxs      dbmmanage  envvars-std  htcacheclean  htdigest  httpd      logresolve
apachectl  apu-1-config  checkgid  envvars    fcgistarter  htdbm         htpasswd  httxt2dbm  rotatelogs
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES |grep "deflate"  (检查是否支持deflate功能模块)deflate_module (shared)
2.2 验证

开启一台win10虚拟机模拟客户机,安装抓包工具

使用浏览器访问地址

查看抓包工具,可见客户机默认支持压缩功能

现在我们在站点首页中添加图片

[root@localhost /]# cd /mnt
[root@localhost mnt]# ls
amoeba-mysql-binary-2.2.0.tar.gz  Discuz_X2.5_SC_UTF8.zip  mha
apr-1.6.2.tar.gz                  dog.jpg                  mha.rar
apr-util-1.6.0.tar.gz             httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
awstats-7.6.tar.gz                LNMP-C7                  php-5.6.11.tar.bz2
cronolog-1.6.2-14.el7.x86_64.rpm  LNMP-C7.rar
[root@localhost mnt]# cp dog.jpg /usr/local/httpd/htdocs/
[root@localhost mnt]# cd /usr/local/httpd/htdocs/
[root@localhost htdocs]# ls
dog.jpg  index.html
[root@localhost htdocs]# vim index.html
<html><body><h1>It works!</h1>
<img src="dog.jpg"/>       #在站点首页添加图片
</body></html>
--------》wq
  • 再次使用客户机访问站点

  • 查看抓包工具

已将图片进行了gzip压缩

总结:

我们在网页嵌入图片、视频等其他文件的时候会在传输端口的时候会做gzip压缩再传输。
本篇博客介绍了Apache网页与安全优化中的网页压缩,之后会继续介绍Apache的网页缓存、防盗链与隐藏版本的优化

Apache网页与安全优化之--网页压缩相关推荐

  1. Apache 网页与安全优化(网页压缩--缓存--防盗链等)

    文章目录 前言 一.Apache 网页优化 1.1.网页压缩 1.1.1.gzip 介绍 1.1.2.Apache 的压缩模块 1.1.3.mod_deflate 模块 1.2.网页缓存 二.Apac ...

  2. Web服务器集群——Apache网页与安全优化

    第四章 Apache网页与安全优化 一.Apache网页优化 1.网页压缩 网站访问速度影响因素:应用程序响应速度.网络带宽.服务器性能.与客户端之间网络传输速度等.其中最重要的是=一个因素是Apac ...

  3. 理论+实操:Apache 网页与安全优化

    文章目录 一:Apache网页优化概述 1.1 优化内容 二:gzip介绍 配置apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器 作用 三:apache的压 ...

  4. 超级详细!!!Apache 网页与安全优化

    Apache网页优化 在使用Apache作为Web服务器的过程中,只有对Apache服务器进行适当的优化配置,才能让Apache发挥出更好 的性能;反过来说,如果Apache的配置非常糟糕,Apach ...

  5. 移动网站性能优化:网页加载技术概览

    移动网站性能优化:网页加载技术概览 2013/08/27 | 分类: IT技术 | 0 条评论 | 标签: WEB开发, 性能优化, 移动 分享到: 47 本文由 伯乐在线 - 伯乐在线读者 翻译自  ...

  6. 单个网页的搜索引擎优化(SEO)策略

    单个网页的搜索引擎优化(SEO)策略 搜索引擎(search engine)是指根据一定的策略.运用特定的计算机程序从互联网上搜集信息,在对信息进行组织和处理后,为用户提供检索服务,将用户检索相关的信 ...

  7. html优化网站的方法,利用HTML优化加快网页速度方法介绍

    减少web页面下载时间的关键就是设法减小文件大小.当多个页面共用一些成分内容时,就可以考虑将这些公用部分单独分离出来.比如:我们可以将多个HTML页面都用到的脚本程序编写成独立存在的.js文件,然后再 ...

  8. 构建时预渲染:网页首帧优化实践

    前言 自JavaScript诞生以来,前端技术发展非常迅速.移动端白屏优化是前端界面体验的一个重要优化方向,Web 前端诞生了 SSR .CSR.预渲染等技术.在美团支付的前端技术体系里,通过预渲染提 ...

  9. 如何写出好的SEO标题,网页标题SEO优化的方法

    用户在搜索的结果中先看到的是网页标题,它是确定网页主题是否和搜索查询相关的一个重要因素.因此,好的标题是非常重要的,可以激发用户的点击阅读兴趣,帮助搜索用户更快地了解页面内容,判断搜索结果是否和需求相 ...

  10. 针对SEO优化的网页摘要和结构化数据方法(微数据)

    针对SEO优化的网页摘要和结构化数据方法(微数据) 关于丰富网页摘要和结构化数据 谷歌丰富摘要和结构化数据旨在让Google更了解您网页上的内容,创建丰富网页摘要,为用户具体查询提供更详尽的信息. 丰 ...

最新文章

  1. Linux 下 SVN 添加多个文件的方法
  2. CSP认证201512-3 画图[C++题解]:dfs、左下角建系、坐标反着读入
  3. linux shell 学习
  4. mysql8 修改密码_最新版本mysql8.0.18windows x64部署手册
  5. selinux关闭后mysql_centos下关闭selinux不重启的方法
  6. C# 对WinForm应用程序的App.config的使用及加密
  7. 一步步使SSH连接您的github仓库
  8. SQLite Tutorial 3 : Working with important SqLite Queries (SELECT, INSERT, DELETE, UPDATE,WHERE...)
  9. [ZJOI2013]防守战线
  10. 火到爆的扩散模型(Diffusion Model)帮你具象化幻想世界
  11. iOS中唯一一款不带开屏广告的日历
  12. 机器学习——sklearn实现决策树(隐形眼镜预测和鸢尾花分类)
  13. 新手如何参加信息学竞赛NOIP,怎么入门(常见问题解答)?
  14. [LGP2791] 幼儿园篮球题
  15. [JDK1.6] JAVA集合 ConcurrentHashMap源码浅析
  16. 解决Simplify chained comparison
  17. 概率语言模型 Probabilistic Language Modeling (一) --- 整体简介
  18. VS2010+OSG3.2+CEGUI0.8.4环境下实现简单的HelloWorld程序
  19. Java物联网开发(一) —— MQTT协议
  20. 联想服务器rd650性能,性能强劲 联想ThinkServer RD650

热门文章

  1. 计算机软件著作权可以同时寄多份,软件著作权可以挂几个人,最多几个作者?...
  2. Chrome 插件收集
  3. reStructuredText 表格快速生成
  4. NFT成为社交地位的新符号象征
  5. GPU运算能力对(2022.4.5更新)
  6. 重磅消息,Micrium的uCOS全家桶将推出免费商业授权
  7. μC/OS-II兼容层——让基于μC/OS-II开发的应用层无感地迁移到RT-Thread操作系统
  8. 51单片机引脚功能介绍
  9. C# Winform设置焦点
  10. 定量数据和定性数据_定性数据:赋予大数据意义的上下文