目录

一、Apache网页优化

1.1、概述

企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代

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

1.2、gzip介绍

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

作用

  1. 降低了网络传输的字节数,加快网页加载的速度
  2. 节省流量,改善用户的浏览体验
  3. gzip与搜索殷勤的抓取工具有着更好的关系

1.3、Apache的压缩模块

mod_gzip模块

mod_deflate模块

两者均使用gzip压缩算法,运行原理相似

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

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

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

二、网页压缩实验

2.1、检查是否安装mod_deflate模块

apachectl -t -D DUMP_MODULES | grep "deflate"

2.2、重新编译安装Apache添加mod_deflate模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate #加入mod_deflate模块 make && make install

2.3、修改配置文件

vim /usr/local/httpd/conf/httpd.conf
1.Listen 192.168.80.12:80 #52行修改
2.LoadModule deflate_module modules/mod_deflate.so #105行取消注释,开启mod_deflate 模块
3.ServerName www.123.com:80 #199行取消注释,修改
4.<IfModule mod_deflate.c> #末行添加
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png #代表对什么样的内容启用gzip压缩
DeflateCompressionLevel 9 #代表压缩级别,范围为1~9
SetOutputFilter DEFLATE #代表启用deflate 模块对本站点的输出进行gzip压缩
</IfModule>

2.4、检查安装情况,启动服务

apachectl -t			                         #验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "deflate" #检查 mod_deflate 模块是否已安装
deflate_module (shared) #已安装的正确结果 systemctl start httpd.service

2.5、测试mod_deflate压缩是否生效

三、网页缓存实验

3.1、检查是否安装mod_expires模块

apachectl -t -D DUMP_MODULES | grep "expires"

3.2、重新编译安装Apache添加 mod_expires模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak2 yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel
cd /opt/httpd-2.4.29/
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate
--enable-expires #加入mod_expires 模块
make && make install

3.3、修改配置文件,启动mod_expires模块

vim /usr/local/httpd/conf/httpd.conf
1.Listen 192.168.80.12:80 #52行修改
2.LoadModule expires_module modules/mod_expires.so #111行取消注释,开启mod_deflate 模块
3.ServerName www.123.com:80 #199行取消注释,修改
4.<IfModule mod_expires.c> #末行添加
ExpiresActive On #打开网页缓存功能
ExpiresDefault "access plus 60 seconds" #设置缓存60秒
</IfModule>

3.4、检查安装情况,启动服务

apachectl -t			                            #验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "expires" #检查 mod_expires模块是否已安装
deflate_module (shared) #已安装的正确结果 systemctl start httpd.service

Linux系统

windows系统,win10安装fiddler软件

四、Apache网页安全优化(隐藏版本信息)

未配置前可以看到版本信息

4.1、修改配置文件

vim /usr/local/httpd/conf/httpd.conf
1.Include conf/extra/httpd-default.conf #491行取消注释 vim /usr/local/httpd/conf/extra/httpd-default.conf
2.ServerTokens Prod #55行修改,将原本的Full改为 Prod,只显示名称,没有版本
注:ServerTokens表示 Server回送给客户端的响应头域是否包含关于服务器OS类型和编译过的模块描述信息。 systemctl start httpd.service

4.2、测试

五、Apache防盗链实验

1.防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源

2.如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力,作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用

5.1、检查检查是否安装 mod rewrite 模块

apachectl -t -D DUMP_MODULES | grep "rewrite"

5.2、重新编译安装Apache添加mod_rewrite模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak3 yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel cd /opt/httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \ #加入mod_rewrite模块
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires make && make install

5.3、配置mod_rewrite模块

vim /usr/local/httpd/conf/httpd.conf

-----157行-----取消注释
LoadModule rewrite_module modules/mod_rewrite.so -----224行----- <Directory "/usr/local/httpd/htdocs">
Options Indexes FollowSymLinks #默认开启
AllowOverride None #默认开启
Require all granted #默认开启 RewriteEngine On #打开rewrite功能,加入mode_rewrite模块内容
RewriteCond %{HTTP_REFERER} !^http://123.com/.*$ [NC] #设置匹配规则
RewriteCond %{HTTP_REFERER} !^http://123.com$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.123.com/.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www.123.com/$ [NC]
RewriteRule .*\.(gif|jpg|swf|png)$ http://www.123.com/error.png #设置跳转动作

5.4、检查安装情况,启动服务

apachectl -t			                            #验证配置文件的配置是否正确
apachectl -t -D DUMP_MODULES | grep "rewrite" #检查mod_rewrite模块是否已安装
deflate_module (shared) #已安装的正确结果 systemctl start httpd.service

Apache网页优化与安全的更多相关文章

  1. Apache网页优化

    目录: 一.Apache网页优化概述 二.网页压缩 三.网页缓存 四.隐藏版本信息 五.Apache防盗链 一.Apache网页优化概述 在企业中,部署Apache后只采用默认的配置参数,会引发网站很 ...

  2. Apache——网页优化与安全

    Apache--网页优化与安全 1.Apache 网页优化概述 2.网页压缩 3.网页缓存 4.隐藏版本信息 5.Apache 防盗链 1.Apache 网页优化概述: 企业中,部署Apache后只采 ...

  3. Apache性能优化总结

    1.介绍 首先要了解Apache采用的MPM(Multi -Processing Modules,多道处理模块),MPM是Apache的核心,它的作用是管理网络连接.调度请求.Apache2.0中MP ...

  4. Apache性能优化、超时设置,linux 重启apache

    在httpd.conf中去掉Include conf/extra/httpd-default.conf前的#以使httpd-default.php生效.其中调节以下参数Timeout 15 (连接超时 ...

  5. 网页优化URI(http URI scheme与data URI scheme)

    网页优化的一大首要任务是减少HTTP 请求 (http request) 的次数,例如通过合并多个JS文件,合并CSS样式文件.除此之外,还有一个data URL 的密技,让我们直接把图像的内容崁入网 ...

  6. CentOS系统Apache服务器优化详解

    1.Apache优化 Apache能够在CentOS系统正常运行.但是,对于访问量稍大的站点,Apache的这些默认配置是无法满足需求的,我们仍需调整Apache的一些参数,使Apache能够在大访问 ...

  7. CSS.05 -- 规避脱标 定位的盒子居中、CSS标签规范、溢出隐藏、内容移除(网页优化)、CSS精灵图

    规避脱标   定位的盒子居中显示 Margin:0 auto : 只能让标准流的盒子居中对齐 当A是B的父系,B可以使用 margin-left:auto: 来获得相当于定位right:0:的效果 M ...

  8. linux apache服务器优化建议整理(很实用)

    转载:http://www.cnblogs.com/zhongbin/archive/2013/06/11/3131865.html 1.apache服务器的time_wait过多 fin_wait1 ...

  9. apache配置优化 - 解决apache环境下网站访问速度慢的问题(重点参考)

    如果apche访问量过大,将会导致页面打开迟缓,下载速度也降低,如果由于经费和环境问题,集群方案没有得以应用.可以通过对Apache2增加模块MPM来进行优化, 这里我选择线程型MPM加以优化:  开 ...

随机推荐

  1. SpringBoot拦截器及源码分析

    1.拦截器是什么 java里的拦截器(Interceptor)是动态拦截Action调用的对象,它提供了一种机制可以使开发者在一个Action执行的前后执行一段代码,也可以在一个Action执行前阻止 ...

  2. Docker:redis容器使用redis.conf启动失败,不报错

    查看redis.conf配置信息 daemonize no :redis默认是不作为守护进程使用的,这也就是说为什么在你不修改配置文件时直接使用redis-server /redis/redis.co ...

  3. 1.3.9、通过权重 Weight匹配

    server: port: 8080 spring: application: name: gateway cloud: gateway: routes: - id: guo-system1 uri: ...

  4. NetCore微服务简单流程审批数据库设计及后台服务开发

    1.数据库设计 -- ---------------------------- -- Table structure for TBase_Flow -- ----------------------- ...

  5. Python 操作 MySQL 的5种方式

    不管你是做数据分析,还是网络爬虫,Web 开发.亦或是机器学习,你都离不开要和数据库打交道,而 MySQL 又是最流行的一种数据库,这篇文章介绍 Python 操作 MySQL 的5种方式,你可以在实 ...

  6. 「AGC035C」 Skolem XOR Tree

    「AGC035C」 Skolem XOR Tree 感觉有那么一点点上道了? 首先对于一个 \(n\),若 \(n\equiv 3 \pmod 4\),我们很快能够构造出一个合法解如 \(n,n-1, ...

  7. Git错误:unable to access 'https://git.voicegu.com/qa/qa.git/': SSL certificate problem: unable to get local issuer certificate

    fatal: unable to access 'https://git.voicegu.com/qa/qa.git/': SSL certificate problem: unable to get ...

  8. 深度学习之逻辑回归的实现 -- sigmoid

    1 什么是逻辑回归 1.1逻辑回归与线性回归的区别: 线性回归预测的是一个连续的值,不论是单变量还是多变量(比如多层感知器),他都返回的是一个连续的值,放在图中就是条连续的曲线,他常用来表示的数学方法 ...

  9. [刘阳Java]_Spring常用注解介绍_第6讲

    Spring的注解是在Spring2.5的版本中引入的,目的简化XML配置.在企业开发过程中使用注解的频率非常高,但是学习注解的前提是大家一定要对Spring基于XML配置要熟悉,这是我个人建议,因为 ...

  10. Spring RestTemplate 之post请求

    ●post请求:在RestTemplate中,POST请求可以通过如下三个方法来发起,但post提交方式又有两种 formData 和 payLoad,而且接口设计与传统的浏览器使用的提交方式又有差异 ...