Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

Apacheウェブ最適化の概念

事業では、唯一のApacheのデフォルトの設定パラメータの展開後、問題サイトの多くを引き起こす可能性があり、換言すれば、デフォルトの設定では、以前の低いためではない
、コンフィギュレーション・サーバー、今日のインターネット時代ではもはや適用前の構成、ビジネスニーズを満たすために、私たちが必要Apacheの性的強化する方法を検討し
、Apacheの最適化の内容である、エネルギーと安定性を。

コンテンツの最適化:

  • 設定ページの圧縮

  • Webキャッシュ時間を設定します

  • セキュリティの構成チェーン

  • コンフィギュレーションのバージョン番号を隠します

gzipの紹介

ApacheのWeb圧縮の設定圧縮するgzip圧縮アルゴリズムを使用して、Webコンテンツへのクライアントのブラウザに送信されます。

効果

  • 、ネットワークを介して送信したバイト数を減らして、ページの読み込みを高速化

  • トラフィックを保存し、ユーザーのブラウジングエクスペリエンスを向上

  • gzipの検索の弓|エンジンのクローラは、より良い関係を持っています

Apacheの圧縮モジュール

含める機能モジュールを達成するためのApacheのWebページの圧縮

mod_gzipのモジュール
mod_deflateをモジュール

Apacheの1.xの

いいえウェブ圧縮技術を内蔵していないが、第三者Eは、圧縮モジュールを実行mod_gzipのことができます。

Apacheの2.xの

開発中に、我々はmod_gzipのを置き換え、mod_deflateをこのモジュールを構築しました。

mod_gzipのモジュールとモジュールmod_deflateを

  • それがどのように動作するかに似両方使用gzip圧縮アルゴリズム、

  • わずかに速い圧縮をmod_deflateを、圧縮率がわずかに高いmod_gzipのです

  • 高いように、サーバーのCPUのmod_gzipの職業

  • 高トラフィック・サーバは、使用mod_deflateをを読み込みmod_gzipのの速度よりも速いかもしれ

設定ページの圧縮試験

(1)ホスト・キットには、私たちが出て共有する必要があります。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(2)SambaのサービスキットでLinuxシステムをマウントします。

[root@localhost ~]# smbclient -L //192.168.100.50/   //查看共享
Enter SAMBA\root's password:      //匿名共享,没有密码,直接回车
OS=[Windows 10 Enterprise LTSC 2019 17763] Server=[Windows 10 Enterprise LTSC 2019 6.3]

    Sharename       Type      Comment
    ---------       ----      -------
    IPC$            IPC       远程 IPC
    share           Disk      
    tools           Disk      
    Users           Disk      
Connection to 192.168.100.50 failed (Error NT_STATUS_RESOURCE_NAME_NOT_FOUND)
NetBIOS over TCP disabled -- no workgroup available
[root@localhost ~]# mkdir /mnt/tools    //创建挂载目录
[root@localhost ~]# mount.cifs //192.168.100.50/tools /mnt/tools/     //挂载
Password for root@//192.168.100.50/tools:  
[root@localhost ~]# cd /mnt/tools/    //进入挂载目录
[root@localhost tools]# ls     //查看
awstats-7.6.tar.gz                extundelete-0.2.4.tar.bz2  forbid.png                 jdk-8u191-windows-x64.zip  LAMP-C7
cronolog-1.6.2-14.el7.x86_64.rpm  fiddler.exe                intellijideahahau2018.rar  john-1.8.0.tar.gz          picture.jpg
[root@localhost tools]# 

(3)「は/ opt /」アーカイブディレクトリを抽出するために、ソースのApacheのインストールサービスをコンパイルします。

[root@localhost tools]# cd LAMP-C7/       //切换目录
[root@localhost LAMP-C7]# ls
apr-1.6.2.tar.gz       Discuz_X2.5_SC_UTF8.zip  LAMP-php5.6.txt      php-5.6.11.tar.bz2
apr-util-1.6.0.tar.gz  httpd-2.4.29.tar.bz2     mysql-5.6.26.tar.gz
[root@localhost LAMP-C7]# tar jxvf httpd-2.4.29.tar.bz2 -C /opt/     //解压
[root@localhost LAMP-C7]# tar zxvf apr-1.6.2.tar.gz -C /opt/           //解压
[root@localhost LAMP-C7]# tar zxvf apr-util-1.6.0.tar.gz -C /opt/     //解压

(4) "は/ opt /" ディレクトリ、2 4月にパッケージを移動する "のhttpd-2.4.29 / srclib /" ディレクトリを入力するには、名前を変更します。

[root@localhost LAMP-C7]# cd /opt/    
[root@localhost opt]# ls
apr-1.6.2  apr-util-1.6.0  httpd-2.4.29  rh
[root@localhost opt]# mv apr-1.6.2/ httpd-2.4.29/srclib/apr
[root@localhost opt]# mv apr-util-1.6.0/ httpd-2.4.29/srclib/apr-util

(5)「HTTPD-2.4.29 /」ディレクトリを入力し、[ビルド環境のパッケージをインストールします。

[root@localhost opt]# ls
httpd-2.4.29  rh
[root@localhost opt]# cd httpd-2.4.29/
[root@localhost httpd-2.4.29]# ls
ABOUT_APACHE     ap.d          CHANGES         docs         httpd.spec      libhttpd.dep  Makefile.win   README            srclib
acinclude.m4     build         CMakeLists.txt  emacs-style  include         libhttpd.dsp  modules        README.cmake      support
Apache-apr2.dsw  BuildAll.dsp  config.layout   httpd.dep    INSTALL         libhttpd.mak  NOTICE         README.platforms  test
Apache.dsw       BuildBin.dsp  configure       httpd.dsp    InstallBin.dsp  LICENSE       NWGNUmakefile  ROADMAP           VERSIONING
apache_probes.d  buildconf     configure.in    httpd.mak    LAYOUT          Makefile.in   os             server
[root@localhost httpd-2.4.29]# 
[root@localhost httpd-2.4.29]# yum -y install \
> gcc \
> gcc-c++ \
> make \
> pcre \
> pcre-devel \
> expat-devel \
> zlib-devel \
> perl
......//省略安装过程

(6)Apacheサーバを設定します。

[root@localhost httpd-2.4.29]# ./configure \
> --prefix=/usr/local/httpd \    //安装路径
> --enable-deflate \     //启用压缩模块支持
> --enable-expires \   //启用缓存模块支持
> --enable-so \     //启用动态加载模块支持
> --enable-rewrite \     //启用网页地址重写功能
> --enable-charset-lite \    //启用字符集支持
> --enable-cgi    //启用CGI脚本程序支持

(7)Apacheサービスをコンパイルしてインストールします。

[root@localhost httpd-2.4.29]# make && make install
......//省略编译安装过程
[root@localhost httpd-2.4.29]#

(8)はApacheサービスの設定ファイルを変更しています。

[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/conf/httpd.conf /etc/httpd.conf     //创建软链接,方便使用
[root@localhost httpd-2.4.29]# 
[root@localhost httpd-2.4.29]# vim /etc/httpd.conf

Listen 192.168.52.133:80    //开启IPv4监听
#Listen 80     //注释IPv6监听

ServerName www.abc.com:80    //设置域名

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 text/jpg text/png   //启用压缩的内容
  DeflateCompressionLevel 9     //压缩级别,9级
  SetOutputFilter DEFLATE      //启用deflate模块对本站点的输出进行gzip压缩
</IfModule>

(9)正しい形式で、設定ファイルのフォーマットを確認してください。

[root@localhost httpd-2.4.29]# /usr/local/httpd/bin/apachectl -t
Syntax OK
[root@localhost httpd-2.4.29]# 

(10)「/etc/init.d/の」ディレクトリに「は/ usr / local /のhttpd / binに/」ディレクトリの下に「のapachectl」ファイルを移動し、最初に識別chkconfigの設定ファイルを追加し、その後、それらを追加します標準のLinuxシステムサービス

[root@localhost httpd-2.4.29]# cp /usr/local/httpd/bin/apachectl /etc/init.d/httpd     //复制
[root@localhost httpd-2.4.29]# vim /etc/init.d/httpd     //在配置文件添加两行声明

# chkconfig: 35 85 21    //服务识别参数,在级别3、5中启动:启动和关闭的顺序分别为85、21
# description: Apache is a World Wide Web server      //服务描述信息

[root@localhost httpd-2.4.29]# chkconfig --add httpd     //将httpd服务添加为系统服务
[root@localhost httpd-2.4.29]# 
[root@localhost httpd-2.4.29]# service httpd start     //启动Apache服务
[root@localhost httpd-2.4.29]# ln -s /usr/local/httpd/bin/* /usr/local/bin/    //将Apache服务的命令文件,建立软链接到易于系统识别的目录
[root@localhost httpd-2.4.29]# 

(11)モジュールのインストールが成功したか確認してください。

[root@localhost httpd-2.4.29]# apachectl -t -D DUMP_MODULES | grep "deflate"    //验证模块
deflate_module (shared)
[root@localhost httpd-2.4.29]# 
[root@localhost httpd-2.4.29]# systemctl stop firewalld.service     //关闭防火墙
[root@localhost httpd-2.4.29]# setenforce 0    //关闭增强性安全功能
[root@localhost httpd-2.4.29]# 

コピー「picture.jpg」の写真(12)は、Apacheのディレクトリにディレクトリサービスサイトをマウントする「を/ usr / local / httpdの/ htdocsに/」ダウンし、ページファイルに画像を追加します。

[root@localhost httpd-2.4.29]# cd /mnt/tools/     //切换目录
[root@localhost tools]# ls
awstats-7.6.tar.gz                extundelete-0.2.4.tar.bz2  forbid.png                 jdk-8u191-windows-x64.zip  LAMP-C7
cronolog-1.6.2-14.el7.x86_64.rpm  fiddler.exe                intellijideahahau2018.rar  john-1.8.0.tar.gz          picture.jpg
[root@localhost tools]# cp picture.jpg /usr/local/httpd/htdocs/     //复制图片
[root@localhost tools]# cd /usr/local/httpd/htdocs/    //切换目录
[root@localhost htdocs]# ls     //查看
index.html  picture.jpg
[root@localhost htdocs]# vim index.html    //编辑首页文件

<html>
 <body>
  <h1>It works!</h1>
  <img src="picture.jpg">
 </body>
</html>

(13)キャプチャツールシオマネキのwin10ホストに装着されています。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(14)win10ホストでのApacheのサイトを参照してください。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(15)は、パケットキャプチャの内容を表示するために、あなたはヘッダを見ることができ、画像はgzipで圧縮されています。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

Apacheのキャッシングモジュール

ページがmod_expireモジュールを有効に再三の要求を避けるために、クライアントのブラウザのキャッシュに時間の期間とすることができるように、mod_expireモジュールでのApacheの設定、自動的にそれによって、アクセスクライアントの頻度を減らし、ページヘッダ情報は、タグとのCache-Controlのラベルを有効期限生成そして、回数、不要なトラフィックを削減し、アクセス速度の目的を向上させます。

Webキャッシュ時間の実験を設定します

キャッシュモジュールを構成するとき、(1)上記の実験に続いて、Apacheサービスが加算しました。だから、直接、Apacheの設定ファイルに変更されます。

[root@localhost htdocs]# vim /etc/httpd.conf

LoadModule expires_module modules/mod_expires.so    //开启缓存模块

<IfModule mod_expires.c>     //尾行添加缓存模块信息
  ExpiresActive On       //缓存开启
  ExpiresDefault "access plus 50 seconds"     //缓存时间50秒
</IfModule>

(2)正しい形式で、Apacheの設定ファイルのフォーマットを確認してください。

[root@localhost htdocs]# apachectl -t
Syntax OK
[root@localhost htdocs]# 

(3)サービスを再起動するために、待機ポートを表示

[root@localhost htdocs]# service httpd stop    //关闭服务
[root@localhost htdocs]# service httpd start    //开启服务
[root@localhost htdocs]# 
[root@localhost htdocs]# netstat -ntap | grep 80     //检查监听端口
tcp        0      0 192.168.52.133:80       0.0.0.0:*               LISTEN      83296/httpd         
[root@localhost htdocs]# 

(4)キャッシュ・モジュールが正常にインストールされているチェックします。

[root@localhost htdocs]# apachectl -t -D DUMP_MODULES | grep "expires"   //验证模块
 expires_module (shared)
[root@localhost htdocs]#

(5)再度、win10ホストアクセスApacheのサイトで。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(6)ビューキャプチャ、ヘッダあなたはキャッシュ時間が50秒で見ることができます。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(7)私たちは、Apacheの設定ファイルキャッシングサービス時間は30秒になりますし、サービスを再起動します。

[root@localhost htdocs]# vim /etc/httpd.conf

<IfModule mod_expires.c>
  ExpiresActive On
  ExpiresDefault "access plus 30 seconds"     //将50改为30
</IfModule>

[root@localhost htdocs]# service httpd stop     //关闭服务
[root@localhost htdocs]# service httpd start     //启动服务
[root@localhost htdocs]#

(8)Apacheサービスは、再びwin10ホストでサイトを参照してください。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

(9)あなたはキャッシュ時間から見ることができるビューキャプチャ、ヘッダは30秒50秒に変更されました。

Apacheウェブ最適化(A)-------- Webページの圧縮とキャッシング

おすすめ

転載: blog.51cto.com/14449541/2446257