apache优化3-设置错误优化和开启压缩简述

apache优化3-设置错误优化和开启压缩简述

一、错误页面优雅显示

说明:避免404,403的错误提示,提高用户的体验,如:访问不存在的www.baidu.com/a.html、www.taobao.com/a.html页面时,不显示404 Not Found 提示信息,而是自定义的显示页面。

1. 修改apache的主配置文件
			在apache的网站根标签中添加
			ErrorDocument 404 /404.html   # 此处/ 指的是/usr/local/apache2.4/htdocs目录
			ErrorDocument语法简介:
			ErrorDocument 错误代码 跳转的页面或文件
2.创建测试页面
3.重启服务并测试
			在跳转到文件的测试中,我用全路径进行测试,当把404错误页面跳转文件放
			到其他目录的时候,测试时直接报错,访问不到
			
vim /usr/local/apache2.4/conf/httpd.conf
			#找到网站根目录标签
			#<Directory "/usr/local/apache2.4/htdocs"> </Directory>,第218行
			
			#在标签末尾添加,ErrorDocument
			ErrorDocument 404 /404.html    #保存退出

echo "Please enter the correct URL" > /usr/local/apache2.4/htdocs/404.html
service apache2.4 restart
curl 192.168.226.64/a.html   #访问一个不存在的页面
			Please enter the correct URL

二、启动压缩模块

说明:网站访问量的增加和内容量的增加,使网站的带宽也会不断地增加,继而使网站的成本增加。当内容量大增大时,而客服端的带宽小,影响用户的体验。考虑方案:将某些内容压缩之后(节省带宽)再传给用户,再客服端进行自动解压。若无特殊情况,所有的文本内容都应该能被gzip压缩,例如:html(php),js,css,xml,txt等。

图解
在这里插入图片描述

1.检查是否有mod_deflate模块
		/usr/local/apache2.4/bin/apachectl -M     #查看安装的所有模块
		输出结果:
			static:编译时安装
			shared:DSO方式安装(编译后使用apache扩展工具apxs编译添加)	

		两种启动模块方式:
			static:编译时安装
				编译时跟上--enable-deflate
			shared:DSO方式安装(动态共享对象)
				DSO模块可以在编译服务器之后编译,也可以用Apache扩展工具apxs编译添加

2.DSO安装mod_deflate模块
		DSO方式安装语法:/usr/local/apache2.4/bin/apxs 后跟参数
		参数:
		-c  表明需要执行编译操作
		-i  表明需要执行安装操作
		-a  表示自动添加到一个LoadModule行到httpd.con文件中,以激活此模块,
			若此行已经存在,则表示启用

3.配置压缩模块参数
		1).打开主配置文件,解开mod_deflate的注释,第103行
		(默认情况下,该行是打开的)
		2).写入参数配置
		<ifmodule mod_deflate.c>
   			DeflateCompressionLevel 9   
   			SetOutputFilter DEFLATE  
   			DeflateFilterNote Input instream 
   			DeflateFilterNote Output outstream 
   			DeflateFilterNote Ratio ratio  
   AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript   
		</ifmodule>
		
		3.参数介绍:
			DeflateCompressionLevel 9 
			#压缩等级,越大效率越高,消耗CPU也越高。从1到9,9是最高等级。
			#据说,这样做最高可以减少8成大小的传输量(看档案内容而定),最少也能够节省一半。
			DeflateCompressionLevel
			#预设可以采用 6 这个数值,以维持耗用处理器效能与网页压缩质量的平衡。
			#注:一般压缩等级使用6或8  生产环境下一般用6
			SetOutputFilter DEFLATE   #启用压缩
			DeflateFilterNote Input instream #声明输入流的byte数量
			DeflateFilterNote Output outstream  #声明输出流的byte数量
			DeflateFilterNote Ratio ratio   #声明压缩的百分比
			AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript  
			#仅压缩,限制特定的MIME类型文件

注意
1、如果是虚拟主机,需要在<VirtualHost*:80>中添加配置即可实现压缩
2、图片和视频本身就是压缩格式,一般不需要压缩的。有些小图片和视频压缩后还会变大。(解释:压缩是有一个算法的,算法本身也是要放进去的,如果被压缩文件大小为1K,压缩后为0.5K,而算法占2K,压缩后为2.5K,比原来的就大了)

/usr/local/apache2.4/bin/apachectl -M | grep deflate   #结果:并没有安装delate压缩模块,使用DSO方式安装

#使用apache扩展工具apxs安装源码包下的mod_deflate.c到apache2.4的modules目录下
/usr/local/apache2.4/bin/apxs -c -i -a /usr/local/src/httpd-2.4.16/modules/filters/mod_deflate.c
			#显示如下信息,说明安装成功
			[activating module `deflate' in /usr/local/apache2.4/conf/httpd.conf]

ls /usr/local/apache2.4/modules/mod_deflate.so  #查询mod_deflate是否安装成功

vim /usr/local/apache2.4/conf/httpd.conf
			<ifmodule mod_deflate.c>
   				DeflateCompressionLevel 9   
   				SetOutputFilter DEFLATE  
   				DeflateFilterNote Input instream 
   				DeflateFilterNote Output outstream 
   				DeflateFilterNote Ratio ratio  
   				AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript   
			</ifmodule>

service apache2.4 restart


总结:生产环境中,在启用mod_deflate时,一定要注意,对于太小的文件和某些格式的图片不要对它们进行压缩,有可能越压越大。
扩展:AddOutputFilterByTypeDEFLATE后跟的所有的压缩文件类型,供参照选择。
text/plain text/html text/php text/xml text/css text/javascript
application/xhtml+xml application/xml application/rss+xml application/atom_xml application/x-javascript application/x-httpd-php image/svg+xml image/gif image/png image/jpe image/swf image/jpeg image/bmp

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值