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)ホスト・キットには、私たちが出て共有する必要があります。
(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ホストに装着されています。
(14)win10ホストでのApacheのサイトを参照してください。
(15)は、パケットキャプチャの内容を表示するために、あなたはヘッダを見ることができ、画像はgzipで圧縮されています。
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のサイトで。
(6)ビューキャプチャ、ヘッダあなたはキャッシュ時間が50秒で見ることができます。
(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ホストでサイトを参照してください。
(9)あなたはキャッシュ時間から見ることができるビューキャプチャ、ヘッダは30秒50秒に変更されました。