概述:
在企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用于当今的互联网时代。 为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容。
网页压缩
使用gzip压缩算法来对网页内容进行压缩后再传输到客户端的浏览器 作用:降低了网络传输的字节数,加快网页加载的速度 节省了流浪 gzip与搜索引擎的抓取工具有着更好的关系
网页缓存
通过mod_expirse模块配置Apache,使得网页能在客户端浏览器缓存一定的时间,以避免重复的请求 启用mod_expirse模块后,会自动生成页面头部信息中的expirse标签和Cache-Control标签。客户端浏览器根据标签觉定下次访问是在本地机器的缓存界面中获取页面,不需要向服务器再次发送请求,从而降低客户端的访问速度和次数,达到不必要的流量和增加访问速度的目的 ##实验
环境:
安装好Apache的服务器206.10 (4核心,8G,Apache的服务器加入了systemctl管理器)
一台win7客机,206.11
实验1 网页压缩
1.检查是否安装mod_deflate 模块
apachectl -t -D DUMP_MODULES | grep "deflate"
2、如果没有安装mod_deflate 模块,那么就重新编译安装Apache吧
systemctl stop httpd #注意,想用systemctl得加入管理器
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak #备份httpd.conf
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel #yum安装压缩所需要的东西
cd /opt/httpd-2.4.29 #切换到httpd-2.4.29
./configure --prefix=/usr/local/httpd --enable-so --enable-rewrite --enable-charset-lite --enable-cgi #进行软件配置
make -j 4 && make install #软件配置软件配置完成后执行4核心编译安装
此时yum相关完成安装 补充:apachectl -t ;检查安装情况 3、修改配置文件,加入mod_deflate 模块
首先我们 vim /usr/local/httpd/conf/httpd.conf 进去修改文件 首先是设置监听端口 其次是配置服务域名 之后是取消注释,开启mod_deflate 模块 最后我们大G到底,末行插入以下代码
<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>
#末行添加代码,此行不复制
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript text/jpg text/png
DeflateCompressionLevel 9
SetOutputFilter DEFLATE
</IfModule>
#末行添加代码,此行不复制
完成之后我们保存退出 最后systemctl restart httpd即可
4、我们使用winSCP,传一张大图去/usr/local/httpd/htdocs 目录下 下面我们去这个文件加点图片、文字 vim /usr/local/httpd/htdocs/index.html
<img src="图.格式"/>![最后,客机win7验证.png](https:///images/20220107/1641544438188502.png?x-oss-process=image/watermark,size_14,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_30,g_se,x_10,y_10,shadow_20,type_ZmFuZ3poZW5naGVpdGk=)
验证:我们上win7客机去验证下
实验2 apache的web缓存!
虚拟Web主机指的是在同--台服务器中运行多个Web站点,其中每一-个站点实际,上并不独立占用整个服务器,因此被称为“虚拟"Web主机。通过虚拟Web主机服务可以充分利用服务器的硬件资源,从而大大降低网站构建及运行成本。
使用httpd服务可以非常方便地构建虚拟主机服务器,只需要运行一个httpd服务就能够同时支撑大量的Web站点。Apache虚拟主机相当于一个在同- -台服务器中却相互独立的站点,从而实现一 台主机对外提供多个web 服务,每个虚拟主机之,间是独立的,互不影响的。
httpd服务支持的虚拟主机类型包括以下三种:
1.基于域名:为每个虚拟主机使用不同的域名,但是其对应的IP地址是相同的。例如,www. 和 站点的IP地址都是192.168.80.10. 这是使用最为普遍的虚拟Web主机类型。
2.基于IP地址:为每个虚拟主机使用不同的域名,且各自对应的IP地址也不相同。这种方式需要为服务器配备多个网络接口,因此应用并不是非常广泛。
3.基于端口:这种方式并不使用域名、IP地址来区分不同的站点内容,而是使用了不同的TCP端口号,因此用户在浏览不同的虚拟站点时需要同时指定端口号才能访问。
检查下有没有安装mod_expirse模块,没有要重新编译安装Apache
apachectl -t -D DUMP_MODULES | grep "expirse"
1、重新编译安装Apache,安装mod_expirse模块
systemctl stop httpd #注意,想用systemctl得加入管理器
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak #备份httpd.conf
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel #yum安装压缩所需要的东西
cd /opt/httpd-2.4.29 #切换到httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires
make -j 4 && make install #软件配置软件配置完成后执行4核心编译安装
此时yum相关完成安装 补充:apachectl -t ;检查安装情况
2、下面我们老样子,去httpd.conf进去修改文件 vim /usr/local/httpd/conf/httpd.conf进去修改文件
首先是改监听端口 然后是配置域名服务 接下来我们输入 /expirse ,查找相关行 然后我们取消这行的注释 最后嘛,尾行插入以下代码
<IfModule mod_expires.c>
ExpiresActive On #打开网页缓存功能
ExpiresDefault "access plus 60 seconds" #设置缓存60秒
</IfModule>
<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault "access plus 60 seconds"
</IfModule>
保存后退出 最后我们来重启服务
验证办法: 在linux系统中,打开火狐浏览器,右击查看元素 选择 网络 ——选择HTML、WS、其他 访问主机服务器:192.168.206.10,刷新个多少次(多一点)查看响应头包含的EXPires包含项
实验3 防盗链
概述:防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源,如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力。作为网站的维护人员,要杜绝服务器的静态资源被其他
1、检查下有没有安装mod_rewrite模块,没有要重新编译安装Apache
apachectl -t -D DUMP_MODULES | grep "rewrite"
下面重新编译安装Apache,安装mod_expirse模块
systemctl stop httpd #注意,想用systemctl得加入管理器
cd /usr/local/httpd/conf
mv httpd.conf httpd.conf.bak #备份httpd.conf
yum -y install gcc gcc-c++ pcre pcre-devel zlib-devel #yum安装压缩所需要的东西
cd /opt/httpd-2.4.29 #切换到httpd-2.4.29
./configure \
--prefix=/usr/local/httpd \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi \
--enable-deflate \
--enable-expires
make -j 4 && make install #软件配置软件配置完成后执行4核心编译安装
2、配置mod_expirse 并启用 老样子,进去修改 vim /usr/local/httpd/conf/httpd.conf
157行取消注释
248行的更改如下 里面的·代码,记得改下防盗链的域名!(我的是)
RewriteEngine On
RewriteCond %{HTTP_REFERER} !^http:///.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www./.*$ [NC]
RewriteCond %{HTTP_REFERER} !^http://www./$ [NC]
RewriteRule .*\.(gif|jpg|swf)$ http://www./error.png
</Directory>
最后重启服务即可