一、Apache的网页优化
1、概述
2、gzip的介绍
3、Apache的压缩模块
二、网页压缩
1、 检查是否安装mod_deflate模块
2、如果没有安装mod_deflate模块,重新编译安装Apache添加mod_deflate模块
3、配置文件里mod_deflate模块启用
4、检查安装情况,启动服务
5、测试mod_deflate压缩是否生效
三、网页缓存实验
1、检查是否安装mod_expires模块
2、如果没有安装,重新编译安装Apache添加 mod_expires模块
3、配置文件里mod_expires模块启用
4、检查安装情况,启动服务
5、测试缓存是否生效
四、Apache网页安全优化(隐藏版本信息)
1、修改配置文件
2、测试
五、Apache防盗链
1、概述
2、检查检查是否安装 mod rewrite 模块
3、若没有安装则重新编译安装Apache添加mod_rewrite模块
4、配置mod_rewrite模块
5、检查安装情况,启动服务
一、Apache的网页优化
1、概述
(1)企业中,部署Apache后只采用默认的配置参数,会引发网站很多问题,换言之默认配置是针对以前较低的服务器配置的,以前的配置已经不适用当今互联网时代
(2)为了适应企业需求,就需要考虑如何提升Apache的性能与稳定性,这就是Apache优化的内容
2、gzip的介绍
配置Apache的网页压缩功能,是使用gzip压缩算法来对网页内容进行压缩后再传输到客户端浏览器
作用:
(1)降低了网络传输的字节数,加快网页加载的速度
(2)节省流量,改善用户的浏览体验
(3)gzip与搜索殷勤的抓取工具有着更好的关系
3、Apache的压缩模块
mod_gzip模块
mod_deflate模块
区别:
两者均使用gzip压缩算法,运行原理相似
mod_deflate压缩速度略快,而mod_gzip的压缩比略高
mod_gzip对服务器CPU的占用要高一些
高流量的服务器,使用mod_deflate可能会比mod_gzip加载速度更快
二、网页压缩
1、 检查是否安装mod_deflate模块
apachectl -t -D DUMP_MODULES | grep "deflate"
2、如果没有安装mod_deflate模块,重新编译安装Apache添加mod_deflate模块
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak 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 #加入mod_deflate模块 make && make install
3、配置文件里mod_deflate模块启用
vim /usr/local/httpd/conf/httpd.conf 1.Listen 192.168.80.11:80 #52行修改 2.LoadModule deflate_module modules/mod_deflate.so #105行取消注释,开启mod_deflate 模块 3.ServerName www.gxd.com:80 #199行取消注释,修改 4.<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>
4、检查安装情况,启动服务
apachectl -t #验证配置文件的配置是否正确 apachectl -t -D DUMP_MODULES | grep "deflate" #检查 mod_deflate 模块是否已安装 deflate_module (shared) #已安装的正确结果 systemctl start httpd.service
5、测试mod_deflate压缩是否生效
三、网页缓存实验
1、检查是否安装mod_expires模块
apachectl -t -D DUMP_MODULES | grep "expires"
2、如果没有安装,重新编译安装Apache添加 mod_expires模块
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak2 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 #加入mod_expires 模块 make && make install
3、配置文件里mod_expires模块启用
vim /usr/local/httpd/conf/httpd.conf 1.Listen 192.168.80.11:80 #52行修改 2.LoadModule expires_module modules/mod_expires.so #111行取消注释,开启mod_deflate 模块 3.ServerName www.gxd.com:80 #199行取消注释,修改 4.<IfModule mod_expires.c> #末行添加 ExpiresActive On #打开网页缓存功能 ExpiresDefault "access plus 60 seconds" #设置缓存60秒 </IfModule>
4、检查安装情况,启动服务
apachectl -t #验证配置文件的配置是否正确 apachectl -t -D DUMP_MODULES | grep "expires" #检查 mod_expires模块是否已安装 deflate_module (shared) #已安装的正确结果 systemctl start httpd.service
5、测试缓存是否生效
四、Apache网页安全优化(隐藏版本信息)
1、修改配置文件
vim /usr/local/httpd/conf/httpd.conf 1.Include conf/extra/httpd-default.conf #491行取消注释 vim /usr/local/httpd/conf/extra/httpd-default.conf 2.ServerTokens Prod #55行修改,将原本的Full改为 Prod,只显示名称,没有版本 注:ServerTokens表示 Server回送给客户端的响应头域是否包含关于服务器OS类型和编译过的模块描述信息。 systemctl start httpd.service
2、测试
五、Apache防盗链
1、概述
(1)防盗链是防止别人的网站代码里面盗用我们自己服务器上的图片、文件、视频等相关资源
(2)如果别人盗用网站的这些静态资源,明显的是会增大服务器的带宽压力,作为网站的维护人员,要杜绝服务器的静态资源被其他网站盗用
2、检查检查是否安装 mod rewrite 模块
apachectl -t -D DUMP_MODULES | grep "rewrite"
3、若没有安装则重新编译安装Apache添加mod_rewrite模块
systemctl stop httpd.service cd /usr/local/httpd/conf mv httpd.conf httpd.conf.bak3 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 \ #加入mod_rewrite模块 --enable-charset-lite \ --enable-cgi \ --enable-deflate \ --enable-expires make && make install
4、配置mod_rewrite模块
vim /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://123.com/.*$ [NC] #设置匹配规则 RewriteCond %{HTTP_REFERER} !^http://123.com$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.123.com/.*$ [NC] RewriteCond %{HTTP_REFERER} !^http://www.123.com/$ [NC] RewriteRule .*\.(gif|jpg|swf|png)$ http://www.123.com/error.png #设置跳转动作
5、检查安装情况,启动服务
apachectl -t #验证配置文件的配置是否正确 apachectl -t -D DUMP_MODULES | grep "rewrite" #检查mod_rewrite模块是否已安装 deflate_module (shared) #已安装的正确结果 systemctl start httpd.service