Apache网页优化(企业网站结构部署与优化)

本章结构

一、Apache网页优化

在使用 Apache 作为 Web 服务器的过程中,只有对 Apache 服务器进行适当的优化配置,才能让 Apache 发挥出更好的性能。反过来说,如果 Apache 的配置非常糟糕,Apache可能无法正常为我们服务。因此,针对各种企业应用需求对 Apache 服务器的配置进行一定的优化是必不可少的。

网页优化概述

gzip 介绍

HTTP 压缩的过程

Apache 的压缩模块

Apache 的压缩模块

启用网页压缩功能步骤

重新编译 Apache 添加 mod_deflate 模块

配置 mod_deflate 模块启用

检查安装情况并测试 mod_deflate 压缩是否生效

apache服务器压缩模块怎么安装?

先把apache服务关闭掉,然后cd到解压目录重新配置。

在原有的基础上添加一个压缩模块(deflate)

cd到解压目录

./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate

然后:make && make install

使用apachectl -t -D DUMP_MODULES | grep deflate 查看一下有没有这个模块。

然后再查看模块的配置文件

有这个配置文件,那为什么找不到这个模块呢?

配置文件中没有启用这个模块:

在apache配置文件中写入加载此模块的语句,如下:

vim /uar/local/httpd/conf/httpd.conf

在一个空白行写入:

重启服务后,再去检测有没有这个模块。

只是加载了进去,还没有指定启动该模块:

再进入主配置文件:编写以下内容:

LoadModule deflate_module modules/mod_deflate.so

<IfModule mod_deflate.c>

DeflateCompressionLevel 6

SetOutputFilter DEFLATE

AddOutputFilterByType DEFLATE text/html text/plain text/xml text/csstext/javascript application/x-javascript application/javascript application/json

SetEnvIfNoCase Request_URI .(?:gif|jpe?g|png)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:exe|t?gz|zip|bz2|sit|rar)$ no-gzip dont-vary

SetEnvIfNoCase Request_URI .(?:pdf|mov|avi|mp3|mp4|rm)$ no-gzip dont-vary

AddOutputFilterByType DEFLATE text/*

AddOutputFilterByType DEFLATE application/ms* application/vnd* application/postscript application/javascript application/x-javascript

AddOutputFilterByType DEFLATE application/x-httpd-php application/x-httpd-fastphp

</IfModule>

httpd -t 检测一下apache配置文件语法有没有错误;

再重启服务:systemctl restart httpd

打开网页显示有压缩工具就说明成功了:

二、网页缓存

网页缓存是将一部分经常不会改变和变动很少的页面缓存,下次浏览器再次访问这些页面时,不需要再次去下载这些页面,从而提高了用户的访问速度。

Apache 的 mod_expires 模块会自动生成页面头部信息中的 Expires 标签和Cache-Control 标签,客户端浏览器根据标签决定下次访问是在本地机器的缓存中获取页面,不需要向服务器再次发出请求,从而降低客户端的访问频率和次数,达到减少不必要的流 量和增加访问速度的目的。配置 mod_expires 模块的步骤与 mod_deflate 模块相似。

启用网页缓存功能步骤

配置 mod_expires 模块启用

重启 Apache 服务

网页缓存:

首先还是进入apache的主配置文件内找到expires,把前面的注释去掉,

写入以下语句:

指定最大缓存时间为60秒。

再使用httpd -t 检查语法问题:

再重启服务;systemctl restart httpd

三、隐藏版本信息

为了安全起见,可以把版本信息隐藏起来,防止黑客识得版本信息进行入侵:

首先先打开主配置文件,搜索default:

注释去掉,使得主配置文件能够识别该文件中的配置:

然后进入该文件进行修改:

重启服务后生效:

四、Apache 防盗链

192.168.10.101作为服务器 benet.com

192.168.10.102作为盗链者 accp.com

win11作为客户端进行验证

把这两行内容放到三个主机的hosts文件中:

192.168.10.101 www.benet.com

192.168.10.102 www.accp.com

也要写到win11的hosts文件中。让win11系统也能够解析对应的域名。

把服务器正常的网站内容构建一下:

cd进入网站的站点目录下:之前源码安装的方式站点目录在这里

/usr/local/httpd/htdocs

然后把这个实验图片放到目录中:

将图片文logo.jpg件拷贝到apache的网站根目录下并修改网页文件

[root@apache1 ~]# vim /usr/local/httpd/htdocs/index.html

<html>

<body>

<h1>It work ! </h1>

<img src="logo.jpg"/>

</body>

</html>

在win11访问这个网站验证:

用另一台apache服务器盗链(盗图网站)

在 www.accp.com 服务器,修改 index.html 文件,加入盗取图片链接

yum 安装的方式网站的站点目录在/var/www/html

再用win11主机去验证:

访问的是accp.com,但是图片是benet.com给的,这就完成了盗链。

请求的是accp的,但是图片请求的是benet的。

如何防盗链???

先把跳转error的图片放到/usr/local/httpd/htdocs/ (网站站点目录下)

先打开服务器的主配置文件,启用一个重写模块:

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

将该模块的注释去掉;即启用。

再写重写规则:

写完使用httpd -t 检查语法格式;随后重启服务后生效;

然后使用win11验证:

因为写的正则表达式,重写语句中,本图片和语句中的规则相冲突,会进入循环,再进入主配置文件:

把png的后缀去掉。

重启后生效;再用win11去验证;

再去访问盗链者的网站就会跳转到http://www.benet.com/error.phg这张图片。

首先访问的是盗链者的网站,且没有指定要访问的文件,所以直接跳转到了主页文件,但是盗链者的主页文件写的是我服务器的文件链接,又因为我写了地址重写语句,因此,最后跳转到了我服务器下的error这张图片。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/46855.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Java8的新特性

Java8的新特性 一、函数式接口1、Java内置的函数式接口 二、Lambda表达式1、Lambda作用2、语法3、Lambda表达式的六种使用3.1、抽象方法&#xff1a;无参、无返回值3.2、抽象方法&#xff1a;需要传一个参数、无返回值3.3、抽象方法&#xff1a;需要传一个参数&#xff08;类型…

Linux网络攻击防御高级指南:结合 iftop 和 iptables

Linux网络攻击防御高级指南&#xff1a;结合 iftop 和 iptables&#xff08;含规则审查&#xff09; 网络攻击&#xff0c;特别是DDoS&#xff08;分布式拒绝服务&#xff09;攻击&#xff0c;可能导致服务器带宽资源枯竭&#xff0c;严重影响服务稳定性。本高级指南将引导您如…

【笔记】FLOPs 和 FLOPS: 前者(FLOPs) 越大,说明模型的计算复杂度越高;后者(FLOPS)越大,说明硬件的计算速度越快

FLOPs&#xff08;Floating Point Operations&#xff09;&#xff1a;这是指一个模型在一次前向传播中需要进行的浮点运算次数&#xff0c;是一个衡量模型计算复杂度的指标。FLOPs越大&#xff0c;说明模型的计算复杂度越高。 FLOPS&#xff08;Floating Point Operations Pe…

【iOS】OC类与对象的本质分析

目录 前言clang常用命令对象本质探索属性的本质对象的内存大小isa 指针探究 前言 OC 代码的底层实现都是 C/C代码&#xff0c;OC 的对象都是基于 C/C 的数据结构实现的&#xff0c;实际 OC 对象的本质就是结构体&#xff0c;那到底是一个怎样的结构体呢&#xff1f; clang常用…

IDEA实现SpringBoot项目的自打包自发布自部署

目录 前言 正文 操作背景 自发布 自部署 尾声 &#x1f52d; Hi,I’m Pleasure1234&#x1f331; I’m currently learning Vue.js,SpringBoot,Computer Security and so on.&#x1f46f; I’m studying in University of Nottingham Ningbo China&#x1f4eb; You can reach…

社交媒体安全:个人信息泄露与社交工程攻击的防范

社交媒体安全&#xff1a;个人信息泄露与社交工程攻击的防范 社交媒体平台的普及带来了个人信息泄露和社交工程攻击的风险。个人信息泄露可能导致身份盗窃、诈骗等问题&#xff0c;而社交工程攻击则利用心理学和社会学手段欺骗用户&#xff0c;获取敏感信息或系统访问权限。 个…

用户excel对CAN进行图形化展示

在Excel中对CAN数据进行图形化展示&#xff0c;用户可以通过以下几个步骤来实现&#xff1a; 一、数据准备 导出CAN数据&#xff1a;首先&#xff0c;需要将CAN数据从CAN分析工具或设备中导出为Excel支持的格式&#xff08;通常是.xlsx或.csv&#xff09;。大多数CAN系列工具软…

LVS的DR模式

一、DR模式 DR模式&#xff1a;直接路由模式 1.1 DR模式的工作方式 调度器在整个LVS集群当中是最重要的。 在NAT模式下&#xff0c;调度器负责接受请求&#xff0c;同时根据负载均衡的算法转发流量&#xff0c;响应给客户端。 DR模式下&#xff0c;调度器依然负责接受请求…

qt 创建一个左侧边线拖拽的矩形

1.概要 2.代码 2.1 代码第一版 在Qt中&#xff0c;要创建一个可以向左侧拖拽边线的矩形&#xff0c;你需要自定义一个QGraphicsRectItem的子类&#xff0c;并重写其事件处理函数来响应鼠标的拖拽动作。以下是一个简单的实现示例&#xff1a; #include <QApplication>…

设计模式——装饰者模式

设计模式——装饰者模式 1.问题1.1 方案一1.2 方案二 2.装饰者模式2.1 基本介绍2.2 结构2.3 代码实现 3.小结 1.问题 咖啡订单项目&#xff1a; 咖啡种类/单品咖啡:Espresso(意大利浓咖啡)、ShortBlack、LongBlack(美式咖啡)、Decaf(无因咖啡)调料:Milk、Soy(豆浆)、Chocolat…

「Conda」在Linux系统中安装Conda环境管理器

在Linux系统中安装Conda环境管理器是一个相对简单的过程。 1. 准备工作 确保你的Linux系统已经更新到最新版本,并安装了基本的开发工具和库。打开终端,执行以下命令: sudo apt-get update sudo apt-get upgrade sudo apt-get install build-essential2. 安装Miniconda或An…

GB35114控制信令认证流程

GB35114控制信令认证说明&#xff1a; 注册成功后,信令发送方与信令接收方进行交互时,采用基于带密钥的杂凑方式保障信令来源安 全&#xff61;对除REGISTER消息以外的消息做带密钥的杂凑&#xff61;启用Date字段,扩展信令消息头域,在头域中 增加 Note 字 段 (值 为 Digest…

项目经理到底要不要考PMP?

在接待PMP学员中我惊讶地发现&#xff0c;不仅是项目经理&#xff0c;连开发、测试、产品、运营、销售、甚至财务团队的朋友们也都在积极备考。他们考证的原因主要有这几点&#xff1a; 1&#xff0c;职业发展&#xff1a;希望在职业生涯中晋升或转型到项目管理角色的朋友来说…

Spring MVC 全注解开发

1. Spring MVC 全注解开发 文章目录 1. Spring MVC 全注解开发2. web.xml 文件 的替代2.1 Servlet3.0新特性2.2 编写 WebAppInitializer 3. Spring MVC的配置3.1 Spring MVC的配置&#xff1a;开启注解驱动3.2 Spring MVC的配置&#xff1a;视图解析器3.3 Spring MVC的配置&…

SourceTree rebase(变基)的使用

参考资料 【Sourcetree】コミットを一つにまとめる【Sourcetree】リベースする 目录 前提0.1 merge与rebase0.2 merge合并分支0.3 rebase合并分支0.4 &#x1f4a5;超级注意事项&#x1f4a5; 一. 代码已提交&#xff0c;未推送&#xff0c;交互式变基1.1 通过SourceTree操作1…

UWA学堂上新|服务器AOI(Area Of Interest)算法和功能实现

课程是《基于.NetCore开发MMORPG分布式游戏服务器》系列课程第6节&#xff0c;本系列课程旨在帮助大家从零开始搭建商业化MMORPG的分布式服务器框架&#xff0c;包括不同种类服务器的线程模型&#xff0c;如中心服务器、网关服务器、游戏服务器、寻路服务器等&#xff0c;并讲解…

PICO,迷途VR?

随着科技的持续向前发展&#xff0c;越来越多的智能可穿戴设备涌现出来。除了最为大众所熟知的智能手环、智能手表之外&#xff0c;VR设备同样是可穿戴设备领域的一大细分领域&#xff0c;不少巨头都在VR领域有所布局。 回溯过往可知&#xff0c;VR并非新鲜事物&#xff0c;早…

【NLP实战】基于TextCNN的新闻文本分类

TextCNN文本分类在pytorch中的实现 基于TextCNN和transformers.BertTokenizer的新闻文本分类实现&#xff0c;包括训练、预测、数据加载和准确率评估。 目录 项目代码TextCNN网络结构相关模型仓库准备工作项目调参预测与评估 1.项目代码 https://github.com/NeoTse0622/Te…

怎么选流量套餐最划算呢,这篇文章建议收藏!

据小编了解&#xff0c;现在大多数用户手上都不止一张SIM卡&#xff0c;大部分都是双卡&#xff0c;甚至三卡了&#xff0c;那么&#xff0c;这些卡槽你真的利用对了吗&#xff1f; 这篇文章就告诉大家&#xff0c;如何更好的利用这两个卡槽&#xff0c;让你即省钱&#xff0c…