CentOS7のhttpd.confにKeepAliveの設定を追加する方法

httpd.confの編集

#vi /etc/httpd/conf/httpd.conf

一番最後に

KeepAlive On

を追記

特に他を指定しない場合は下記のデフォルト値が適応されます。

MaxKeepAliveRequests 100

1回のアクセスで受付を許容するリクエストの最大数:デフォルト値100

KeepAliveTimeout 15

リクエストまでの待ち時間を秒単位で指定:デフォルト値15

「MaxKeepAliveRequests」はコンテンツ内容の量にもよりますが、通常はデフォルト値で問題ないと思います。自分のとあるページをカウントしてみたところの参考値としては「50」でした。
「KeepAliveTimeout」
これはアクセス数が多いサイトではあまり長くしない方がいいようです。「2~5」くらいが妥当のようです。

Apacheのmod_deflate(gzip圧縮)を利用してコンテンツを圧縮して転送量を下げ表示を表示速度を向上させる設定

そもそも何故こんなことをしなければならないか?というと、WordPressを利用してブログを運営していると徐々に記事数も増え、利用するプラグインも増え、データベースの容量も増え、時と共に重くなるWordPressの表示速度を少しでも速くしたい。

何故表示速度を速くしたいのか?中々コンテンツが表示されず、長い読み込み中の画面から立ち去るブラウザバックを少しでも減らしたい、そして1件でも多くのPVを獲得したい・・という切実な思いの表れであり、SEOの非常に重要な一環であります。

まぁ、このサイトは雀の涙ほどしかPVがないわけでありますが・・・それは置いておいて。

実際の設定方法

「httpd.conf」を開き

#vi /etc/httpd/conf/httpd.conf

最終行に下記を追記

ソースは下記サイトのものをそのままパクらせて利用させていただきました。ありがとうございます。m(_ _”m)

<IfModule mod_deflate.c>
SetOutputFilter DEFLATE

# Mozilla4系などの古いブラウザで無効、しかしMSIEは除外
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

# gifやjpgなど圧縮済みのコンテンツは再圧縮しない
SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico)$ no-gzip dont-vary
SetEnvIfNoCase Request_URI _\.utxt$ no-gzip

# htmlやcssなどは圧縮
AddOutputFilterByType DEFLATE text/plain
AddOutputFilterByType DEFLATE text/html
AddOutputFilterByType DEFLATE text/xml
AddOutputFilterByType DEFLATE text/css
AddOutputFilterByType DEFLATE application/xhtml+xml
AddOutputFilterByType DEFLATE application/xml
AddOutputFilterByType DEFLATE application/rss+xml
AddOutputFilterByType DEFLATE application/atom_xml
AddOutputFilterByType DEFLATE application/x-javascript
AddOutputFilterByType DEFLATE application/x-httpd-php
</IfModule>

設定が完了したら「httpd」のサービスを再起動。

#systemctl restart httpd

下記サイトで実際に反映されているか?を視覚的に非常にシンプルで分かりやすく確認できます。

Evaluation Tools(圧縮をチェックできるサイト(英語))」

参考サイト
Apacheのmod_deflateでコンテンツを圧縮してサイトを高速化する方法
正しく圧縮、素早く送信、mod_deflateの設定方法