【Linux网络服务】Apache网页优化

news2024/10/5 19:12:30

Apache网页优化

  • 一、网页压缩
    • 1.1网页压缩步骤
  • 二、网页缓存
  • 三、隐藏版本信息
  • 五、Apache防盗链

一、网页压缩

  • 在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代。
    为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容。

1.1网页压缩步骤

编译安装Apache,添加mod_deflate模块

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
#--enable-deflate加入mod_deflate 模块
make && make install

配置 mod_deflate 模块启用

vim /usr/local/httpd/conf/httpd.conf
Listen 192.198.80.10:80 #配置监听端口的地址
LoadModule deflate_module modules/mod_deflate.so	#开启mod_deflate 模块
ServerName www.kgc.com:80 #
#末行添加
<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>

在这里插入图片描述在这里插入图片描述检查安装情况,启动服务

#检查 mod_deflate 模块是否已安装
pachectl -t -D DUMP_MODULES | grep "deflate"	
systemctl start httpd.service

在这里插入图片描述测试 mod_deflate 压缩是否生效

cd /usr/local/httpd/htdocs
make test
vim hellow.html 

在这里插入图片描述
在这里插入图片描述

二、网页缓存

如果没有安装mod_expires 模块,重新编译安装 Apache 添加 mod_expires模块

systemctl stop httpd.service
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak1

 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi --enable-deflate --enable-expires
#--enable-expires mod_expires 模块
make && make install

配置 mod_expires 模块启用

#末行添加
<IfModule mod_expires.c>
  ExpiresActive On								#打开网页缓存功能
  ExpiresDefault "access plus 60 seconds"		#设置缓存60秒
</IfModule>

在这里插入图片描述
在这里插入图片描述检查安装情况,启动服务

apachectl -t -D DUMP_MODULES | grep "expires"	
systemctl start httpd.service

在这里插入图片描述
在这里插入图片描述

三、隐藏版本信息

vim /usr/local/httpd/conf/httpd.conf
--491行--取消注释
Include conf/extra/httpd-default.conf

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

systemctl restart httpd.service

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

五、Apache防盗链

1.检查是否安装 mod_rewrite 模块

  • 如果没有安装,重新编译安装
  • apachectl -t -D DUMP_MODULES | grep “rewrite”

配置两个台主机的DNS解析

  • kgc.com模拟正版网站
  • benet模拟盗版网站

配置盗链服务器

cd /usr/local/httpd/htdocs				#yum安装的httpd服务的默认路径为/var/www/html/
vim index.html
<html><body><h1>this is benet.com!</h1>
<img src="http://www.kgc.com/game.jpg"/>
</body></html>

在这里插入图片描述
在这里插入图片描述
配置 mod_rewrite 模块启用

im /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://kgc.com/.*$ [NC]				#设置匹配规则
  RewriteCond %{HTTP_REFERER} !^http://kgc.com$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC]
  RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/$ [NC]
  RewriteRule .*\.(gif|jpg|swf)$ http://www.kgc.com/error.png		#设置跳转动作
  • RewriteCond %{HTTP_REFERER} !^http://www.kgc.com/.*$ [NC] 的字段含义
  • “%{HTTP_REFERER}” :存放一个链接的 URL,表示从哪个链接中转访问目录下的静态资源。
    “!^” :表示不以后面的字符串开头。
    “http://www.kgc.com” :是本网站的路径,按整个字符串匹配。
    “.*$” :表示以任意字符结尾。
    “[NC]” :表示不区分大小写字母。

RewriteRule ..(gif|jpg|swf)$ http://www.kgc.com/error.png 的字段含义:
“.” :表示匹配一个字符。
” :表示匹配 0 到多个字符,与“.”合起来的意思是匹配 0 到多次前面的任意字符,如果是 1 到多次匹配可以用“+”表示。
“.” :在这里的“\”是转义符,“.”就代表符号“.”的意思。因为“.”在指令中是属于规则字符,有相应的含义, 如果需要匹配,需要在前面加个转义符“\”,其它规则字符如果需要匹配,也做同样处理。
“(gif|jpg|swf)” :表示匹配“gif”、“jpg”、“swf”任意一个,“$”表示结束。最后的规则是以“.gif”、“.jpg”、“.swf”结尾, 前面是1到多个字符的字符串,也就是匹配图片类型的文件。
“http://www.kgc.com/error.png” :表示转发到这个路径 。

整个配置的含义是 使用本网站以外的网站域名 访问本站的图片文件时,显示 error.png 这个图片

在这里插入图片描述

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

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

相关文章

如何通过自学成为一名白帽黑客(网安工程师)

从事网络安全这么多年&#xff0c;总是会被问到很多奇奇怪怪的问题&#xff1a; 「叔叔&#xff0c;我Steam账号被盗了&#xff0c;能帮忙找回吗&#xff1f;我给你发红包」 「我的手机被监控了&#xff0c;生活和工作受到了严重影响&#xff0c;该怎么解决&#xff1f;」 「…

学会这两件事,让你在人生路上走得更远

人生&#xff0c;就是一场不断前行&#xff0c;没有退路的旅行&#xff0c;也是一场不断醒悟的过程。 看透&#xff0c;然后醒悟&#xff1b;放下&#xff0c;然后幸福。 有些事&#xff0c;看淡就好&#xff1b;有些人&#xff0c;看穿就行。 不管世事如何艰难&#xff0c;只要…

Compose也能开发iOS了,快来体验~

前言 在之前&#xff0c;我们已经体验了Compose for Desktop 与 Compose for Web&#xff0c;目前Compose for iOS 已经有尚未开放的实验性API&#xff0c;乐观估计今年年底将会发布Compose for iOS。同时Kotlin也表示将在2023年发布KMM的稳定版本。 届时Compose-jb KMM 将实…

腾讯云4核8G服务器12M带宽支持多少人访问?

腾讯云轻量4核8G12M服务器配置446元一年&#xff0c;518元12个月&#xff0c;腾讯云轻量应用服务器具有100%CPU性能&#xff0c;系统盘为180GB SSD盘&#xff0c;12M带宽下载速度1536KB/秒&#xff0c;月流量2000GB&#xff0c;折合每天66.6GB流量&#xff0c;超出月流量包的流…

解锁接口关联测试新技能!HttpRunner教你如何轻松搞定。

目录 前言&#xff1a; 一、安装HttpRunner 二、编写测试用例 三、运行测试用例 四、实现接口关联测试 五、总结 前言&#xff1a; 在接口自动化测试中&#xff0c;一个常见的场景就是需要对多个接口进行关联测试&#xff0c;例如登录后获取token&#xff0c;再利用token…

如何自学黑客?零基础自学黑客需要多久?

问题一&#xff1a;黑客如何学起&#xff1f; 必须从学习者的角度来看&#xff0c;如果你是一个已经学过编程&#xff0c;通晓几门语言的人那么这个答案就会和一个从没有接触过的计算机&#xff0c;甚至连什么叫高级语言还不知道的人有所区别的对待。 这就像是登珠穆朗玛峰一…

ARM实验5-流水灯仿真实验

一、实验名称&#xff1a;流水灯仿真实验 二、实验目的&#xff1a; 掌握ARM处理器的输入输出接口。掌握通过MDK提供的仿真功能&#xff0c;实现系统的仿真运行。通过该编程实验&#xff0c;进一步巩固和强化学生ARM汇编编程的能&#xff0c;ARM应用程序框架&#xff0c;培养…

chatgpt赋能python:Python中的主函数调用其它函数

Python中的主函数调用其它函数 Python语言是一种高级编程语言&#xff0c;它被广泛应用于大数据处理、人工智能、数据分析、网络编程以及Web开发等领域中。在Python中&#xff0c;我们可以使用函数来封装复杂的业务逻辑&#xff0c;使代码更加可读、可维护和可扩展。在本文中&…

基于docker部署testlink并集成mantis

使用docker pull命令拉取需要的镜像。由于testlink和mantis都需要存储相关数据&#xff0c;所以这里可以看到还拉取了一个mysql镜像。 # docker pull bitnami/testlink:1.9.16-r8 # docker pull vimagick/mantisbt # docker pull mysql:5.7.20 使用docker network命令中创建…

Flutter重构开发

最近学习了flutter技术&#xff0c;然后用flutter技术重构了线上项目的首页板块&#xff0c;较深入的理解flutter的状态管理和ui组件的使用&#xff0c;总结下遇到的几点问题。 - 使用gex的controller报错 Don’t use one refreshController to multiple SmartRefresher,It w…

2021年长三角高校数学建模竞赛B题锅炉水冷壁温度曲线解题全过程文档及程序

2021年长三角高校数学建模竞赛 B题 锅炉水冷壁温度曲线 原题再现&#xff1a; 在燃煤发电过程中&#xff0c;锅炉是一种重要的热能动力设备。它通过在炉膛中燃烧煤粉释放热量&#xff0c;将水加热成一定温度&#xff08;或压力&#xff09;的蒸汽&#xff0c;蒸汽再推动汽轮机…

C4d渲染农场的定义、应用领域和未来发展趋势

Cinema 4D&#xff08;C4D&#xff09;是一款常用于3D动画、建模和渲染的软件&#xff0c;由Maxon Computer开发。随着CG行业的不断发展和应用场景的多样化&#xff0c;C4D渲染农场成为了CG制作中不可或缺的一环。本文将深入介绍C4D渲染农场的概念、特点、应用以及未来发展趋势…

信创办公–基于WPS的EXCEL最佳实践系列 (规整数据摆放)

信创办公–基于WPS的EXCEL最佳实践系列 &#xff08;规整数据摆放&#xff09; 目录 应用背景操作步骤1、数据排序2、例如&#xff1a;职务按照 经理-主任-职员 排序3、排列第二种方法4、实操案例5、案例练习一方法一&#xff1a;通过公式函数增加辅助列方法二&#xff1a;用辅…

二分查找笔记

1.1 什么是算法&#xff1f; 定义 在数学和计算机科学领域&#xff0c;算法是一系列有限的严谨指令&#xff0c;通常用于解决一类特定问题或执行计算 In mathematics and computer science, an algorithm (/ˈlɡərɪəm/) is a finite sequence of rigorous instructions, …

IO多路转接之select

本文分享的是IO多路转接中的select&#xff0c;其中包括select函数如何去使用&#xff0c;以及使用相关代码实现客户端向服务端发送消息的服务&#xff0c;从而更好地理解多路转接的select。 多路转接 多路转接是IO模型的一种&#xff0c;这种IO模型通过select函数进行IO等待&…

AI浪潮再掀低代码开发热,快来了解最新趋势!

在近些年的发展中&#xff0c;人工智能 (AI) 已融入我们社会和生活的方方面面。从聊天机器人和虚拟助手到自动化工业机械和自动驾驶汽车&#xff0c;我们已经越来越离不开AI技术了&#xff0c;哪怕是我们的日常生活中也充满了它的影子&#xff0c;我们很难忽视它的影响。 AI时代…

小程序、网页跳转App的原理

从不同的渠道&#xff0c;如小程序、二维码、网页等&#xff0c;直接跳转到App内对应的页面&#xff0c;并传递相关的参数信息&#xff0c;已经由拥有深度链接技术的SDK实现了&#xff0c;App只需接入这类SDK即可获得多样化跳转的功能。本文将详细介绍多样化跳转的原理。 多样…

Unity | HDRP高清渲染管线学习笔记:基本操作

目录 一、场景整体环境光强度 1.HDRI Sky 2.Shadows 二、屏幕后处理效果(Post Processing) 1.Exposure 2.Post-processing/Tonemapping 三、抗锯齿 四、添加光源 1.Light Explorer窗口 2.光照探针组 3.反射探针 4.烘焙光照贴图 本文主要是了解HDRP基本操作&#xf…

高完整性系统:Hoare Logic

目录 1. 霍尔逻辑&#xff08;Proving Programs Correct&#xff09; 1.1 警告&#xff08;Caveats&#xff09; 1.2 误解&#xff08;Misconception&#xff09; 1.3 编程语言&#xff08;Programming Language&#xff09; 1.4 程序&#xff08;Programs&#xff09; 1…

Html源代码加密?

什么是Html源代码加密&#xff1f; 使用JavaScript加密转化技术将Html变为密文&#xff0c;以此保护html源代码&#xff0c;这便是Html源码加密。 同时&#xff0c;这种加密技术还可实现网页反调试、防复制、链接加密等功能。 应用场景 什么情况下需要Html源代码加密&#x…