Linux Apache的网页优化——压缩和缓存(内含脚本一键配置)

Apache 网页优化
在 Linux 中搭建的 Apache ,要进行优化必须是在编译安装环境下进行,并编译安装。要注意,在./配置的时候,要添加以下模块。

./configure \
--prefix=/usr/local/httpd \    ##安装目录
--enable-deflate \    ##压缩模块
--enable-expires \    ##缓存模块
--enable-so \
--enable-rewrite \     ##重写功能
--enable-charset-lite \
--enable-cgi

一、配置压缩模块

打开主配置文件,打开压缩模块

vim /usr/local/httpd/conf/httpd.conf

LoadModule headers_module modules/mod_headers.so
LoadModule deflate_module modules/mod_deflate.so     ##开启 去掉前面#
LoadModule filter_module modules/mod_filter.so

##在末尾添加下面的行
<IfModule mod_deflate.c>
  AddOutputFilterByType DEFLATE text/html text/plain text/css text/xml text/javascript    ##支持压缩的格式
  DeflateCompressionLevel 6    ##压缩比
  SetOutputFilter DEFLATE
</IfModule>

至此已经配置好了,我们可以使用脚本验证下语法是否存在错误,验证脚本在 /usr/local/httpd/bin/ 目录中。

[root@localhost ~]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "deflate"
 deflate_module (shared)

二、网页缓存模块

主配置文件中打开模块,并在末尾添加语块。

vim /usr/local/httpd/conf/httpd.conf

LoadModule expires_module modules/mod_expires.so ##开启

 ##在末尾添加下面的行
 
 <IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 50 seconds"    ##访问最大缓存时间50s
</IfModule>

查看模块是否正常开启

[root@localhost ~]# cd /usr/local/httpd/bin/
[root@localhost bin]# ./apachectl -t -D DUMP_MODULES | grep "expires"
expires_module (shared)

利用shell脚本一键部署Apache的压缩和缓存

脚本中解压的压缩包可以网上自行下载或到https://download.csdn.net/download/yplayer001/11899508下载

#!/bin/bash
#Apache的压缩和缓存

#-------------------Apache压缩和缓存--------------------
#将文件放在root家目录中直接解压,解压到/opt文件中
tar zvxf apr-1.6.2.tar.gz -C /opt
tar zvxf apr-util-1.6.0.tar.gz -C /opt
tar jvxf httpd-2.4.29.tar.bz2 -C /opt

mv /opt/apr-1.6.2 /opt/httpd-2.4.29/srclib/apr
mv /opt/apr-util-1.6.0 /opt/httpd-2.4.29/srclib/apr-util

yum -y install \
gcc \
gcc-c++ \
pcre \
pcre-devel \
zlib-devel \
expat-devel

cd /opt/httpd-2.4.29

./configure \
--prefix=/usr/local/httpd \
--enable-expires \
--enable-deflate \
--enable-so \
--enable-rewrite \
--enable-charset-lite \
--enable-cgi

#编译和安装
make && make install

#配置监听端口
sed -i '51s/#Listen 12.34.56.78:80/Listen 192.168.154.152:80/' /usr/local/httpd/conf/httpd.conf
sed -i '52s/^/#/' /usr/local/httpd/conf/httpd.conf

#配置服务名称
sed -i '198s/#/ /' /usr/local/httpd/conf/httpd.conf
sed -i 's/example/kgc/' /usr/local/httpd/conf/httpd.conf

sed -i '111s/#/ /' /usr/local/httpd/conf/httpd.conf   ##开启缓存模块
sed -i '105s/#/ /' /usr/local/httpd/conf/httpd.conf   ##开启压缩模块

#配置文件末行添加,缓存模块
echo "<IfModule mod_expires.c>
ExpiresActive On
ExpiresDefault \"access plus 50 seconds\"
</IfModule>" >>/usr/local/httpd/conf/httpd.conf

#配置文件末行添加,压缩模块
echo "<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>" >>/usr/local/httpd/conf/httpd.conf

cd /usr/local/httpd/bin
#查看模块是否正常
./apachectl -t -D DUMP_MODULES | grep "expires"

./apachectl start

你可能感兴趣的:(Linux Apache的网页优化——压缩和缓存(内含脚本一键配置))