apache应用详解及优化

本文详细介绍了Apache服务器的优化技巧,包括保持连接、网页压缩、缓存设置、隐藏版本号、防盗链策略、压力测试工具ab的使用、日志分析与访问控制,以及虚拟主机的实现方法。通过这些优化措施,可以提升服务器性能,保障网站的安全性和效率。
摘要由CSDN通过智能技术生成

案例环境:

1.准备环境,上传软件包,并解压编译安装

rpm -e httpd --nodeps
wget http://archive.apache.org/dist/httpd/httpd-2.2.17.tar.gz
tar zxvf httpd-2.2.17.tar.gz -C /usr/src/
cd /usr/src/httpd-2.2.17/
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi  &&  make  &&make install

注意:如果编译安装失败,可以安装一下gcc环境,然后再次编译安装

yum -y install gcc*

2.安装后优化调整

ln -s /usr/local/httpd/bin/* /usr/local/bin/    ##优化执行命令的路径
cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd
chmod a+x /etc/init.d/httpd

3.启动服务

/etc/init.d/httpd start

一、apache优化之保持连接、网页传输压缩、页面缓存时间

1.保持连接、长链接(keep-alive):

作用:HTTP协议是TCP的子协议,HTTP建立连接时需要先建立TCP连接,断开时也需要断开口TCP连接,TCP的建立和断开消耗的资源通过HTTP连接保持可以节约下来。对于 HTTP/1.1,尽量地保持客户端的TCP连接,通过一个TCP连接传送多个 HTTP请求响应,对于客户端可以提高 50%以上的响应时间,对于服务器可以降低建立与关闭TCP连接时的资源消耗。
为什么打开长连接能够加快客户端的访问速度?
开启apache服务端的长连接之后,当客户端请求完成之后,负责返回给客户端数据的进程并不会直接退出,而是等待下一个请求的到来,这样做的主要目的是减少了tcp的三次握手

配置项:

keepalive ON/OFF 是否打开保持连接功能。根据网站的并发请求量决定是否打开,高并发时打开,并发量不高时可选择关闭
keepalive timeout 一次TCP连接多次HTTP请求之间的最大间隔时间,两次HTTP请求超过此时间连接将会断开
maxkeepaliverequestes 一次TCP连接能够传输的最大HTTP请求数量

1)修改/usr/local/httpd/conf/extra/httpd-default.conf内容

vi /usr/local/httpd/conf/extra/httpd-default.conf

16 KeepAlive On
23 MaxKeepAliveRequests 100
29 KeepAliveTimeout 20
:wq

2)如何打开长连接?

sed -n '/httpd-default.conf/p' /usr/local/httpd/conf/httpd.conf  		 ##查看

sed -i '/httpd-default.conf/s/^#//g' /usr/local/httpd/conf/httpd.conf 	 ##去除注释

sed -n '/httpd-default.conf/p' /usr/local/httpd/conf/httpd.conf 	     ##查看验证
sed -i '97s/^#//g' /usr/local/httpd/conf/httpd.conf   ##去掉注释
sed -i 's/www.example.com/www.linux.com/g' /usr/local/httpd/conf/httpd.conf   ##修改域名
   
hostname www.linux.com   ##修改主机名         
bash      ##让主机名立即生效

/usr/local/httpd/bin/apachectl start   ##启动服务

客户机访问
修改客户机上面的hosts文件,然后保存

C:\Windows\System32\drivers\etc
在这里插入图片描述

服务器访问

curl -i www.linux.com    ##域名访问
curl -i 192.168.1.1         ##IP访问

安装抓包工具

下载地址 https://www.telerik.com/fiddler


访问抓包验证:
在这里插入图片描述


2. apache网页压缩:

客户端在请求httpd服务器数据,httpd服务器在返回数据包给客户端时,先对返回的数据进行压缩,压缩之后再传输

作用:配置 Apache 的网页压缩功能,是使用 Gzip 压缩算法来对 Apache 服务器发布的网页内容进行压缩后再传输到客户端浏览器。通常在cpu有空闲,网站带宽占用高时,会启用压缩

优势:
1)加快网页加载的速度,改善用户的浏览体验
2)降低网络传输带宽, 服务器节省流量
3)网页压缩有利于搜索引擎的抓取

方式:Apache 能实现网页压缩功能的模块有 mod_gzip 模块和 mod_deflate 模块
在这里插入图片描述
注意:编译安装时需要使用以下配置项;
--enable-deflate ##启用deflate模块,注意必须安装依赖包“zlib-devel

yum -y install zlib-devel

配置项:

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript 对什么格式的内容启用压缩
DeflateCompressionLevel 9 压缩级别为9,范围是1-9,数字大压缩率高
SetOutputFilter DEFLATE 启用deflate压缩方式

向已经编译好的httpd添加模块:

方法一 1、重新配置编译httpd,在配置httpd的时候启用模块功能 ./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-cgi --enable-deflate
2、然后再运行编译
make clean && make && make install

/usr/local/httpd/bin/apachectl -D DUMP_MODULES |grep deflate  ##查看

在这里插入图片描述

vi /usr/local/httpd/conf/httpd.conf 			##在末尾添加如下配置

AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
:wq
/usr/local/httpd/bin/apachectl start
/etc/init.d/httpd restart

访问并抓包验证:
在这里插入图片描述


3.apache页面缓存时间:

作用:通过 mod_expires 模块配置 Apache,使网页能在客户端浏览器缓存一段时间,以避免重复请求,减轻服务端工作压力。启用mod_expires 模块后,会自动生成页面头部信息中的 Expires 标签和 CacheControl标签,从而降低客户端的访问频率和次数,达到减少不必要的流量和增加访问速度的目的。
注意:编译安装时必须使用以下配置项 --enable-expires ##启用网页缓存过期时间模块

向已经编译好的httpd添加模块:方法二
1、先进入mod_deflate.c文件所在目录:

cd /usr/src/httpd-2.2.17/modules/metadata

2、利用apxs文件编译目标模块

apxs -i -c -a mod_expires.
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小张的学习笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值