Movatterモバイル変換


[0]ホーム

URL:


ソフトウェア
OptiPNGのインストール方法と使い方【PNG画像圧縮】
サーバー
Apacheで画像のファイル名に「twitter」が含まれていると強制的にMIMEタイプがtext/htmlになる謎現象
Webサービス
はてなブログProへ切り替えても残る過去記事のキーワードリンクを消す方法
データベース
CentOS 7にPostgreSQL最新版をインストール
サーバー
CentOS 7にMemcached最新版をインストールしてPHPと連携する
ソフトウェア
Mozilla製JPEGエンコーダー「MozJPEG」のインストール方法と使い方
Webサービス
はてなブログで複数カテゴリーに対応したパンくずリストを生成するJavaScript
サーバー
Apacheのmod_deflateでデータを圧縮して転送量を削減する
プログラミング
やはりフルスクラッチでプログラミングするのは勉強になる。だがしかし…
ソフトウェア
WordPressをPHP7にアップデートして使う際はMySQL拡張に注意
ソフトウェア
Windows7で特定のドライブ文字を使われないように予約しておく方法
ソフトウェア
MagpieRSSでInvalid characterエラーが出るときの対処法
ソフトウェア
jpegtranのインストール方法と使い方【JPG画像最適化】
データベース
CentOS 7にMySQL最新版をインストール
Webサービス
はてなブログを始めたらサイドバーのモジュールが削除できなくて早々に詰んだ話
データベース
MySQL5.7.6以降での初期パスワード確認方法
ソフトウェア
Google製JPEGエンコーダー「Guetzli」のインストール方法と使い方
ソフトウェア
Jpegoptimを導入してJPG画像の容量を圧縮する
Apacheのmod_deflateでデータを圧縮して転送量を削減する

Apacheのmod_deflateでデータを圧縮して転送量を削減する

サイト運営をしていてアクセス数が増えてくると当然転送量も増えるわけですが、それによってレスポンスが悪くなったり転送量制限に引っかかったりする場合があります。

Apacheにはそれを解決するためにmod_deflateという便利なモジュールがあり、コンテンツをgzipに圧縮して転送量を改善することができます。

使用したOS

[root@localhost ~]# cat /etc/redhat-releaseCentOS Linux release 7.1.1503(Core)

使用したApache

[root@localhost ~]# /usr/local/apache2/bin/apachectl-vServer version: Apache/2.4.12(Unix)Server built:   Apr12201503:53:10

mod_deflateモジュールを読み込む

まずはhttpd.confを開きます。

vi /usr/local/apache2/conf/httpd.conf

次に下記を探してコメントアウトを削除します。

#LoadModule deflate_module modules/mod_deflate.so ↓LoadModule deflate_module modules/mod_deflate.so

最後にApacheを再起動すれば完了です。

/usr/local/apache2/bin/apachectlrestart

mod_deflateの設定

圧縮を有効化

最初に下記をhttpd.confに追加して圧縮を有効化します。

<IfModule mod_deflate.c>SetOutputFilter DEFLATE</IfModule>

「SetOutputFilter DEFLATE」でデータ送信前に圧縮するように設定します。

圧縮するファイルを指定

MIMEタイプを指定することで圧縮処理を制限することができます。
これにより無駄な処理や負荷がかかる処理を回避します。
下記をIfModule内に追記します。

AddOutputFilterByType DEFLATE text/plainAddOutputFilterByType DEFLATE text/htmlAddOutputFilterByType DEFLATE text/xmlAddOutputFilterByType DEFLATE text/cssAddOutputFilterByType DEFLATE application/xhtml+xmlAddOutputFilterByType DEFLATE application/xmlAddOutputFilterByType DEFLATE application/rss+xmlAddOutputFilterByType DEFLATE application/atom_xmlAddOutputFilterByType DEFLATE application/javascriptAddOutputFilterByType DEFLATE application/x-javascriptAddOutputFilterByType DEFLATE application/x-httpd-php

どのファイルを圧縮するかは環境に合わせて適宜変えてください。

特定のファイルを圧縮処理から除外

容量の大きいファイルやそもそも最初から圧縮されているファイルを圧縮すると余計な負荷がかかり、逆にレスポンスが悪くなります。
なのであらかじめ除外するファイルを指定しておきます。
下記をAddOutputFilterByTypeの前に追記します。

SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|ico) no-gzip dont-varySetEnvIfNoCase Request_URI _\.utxt$ no-gzip

今回は画像ファイルの除外を指定しています。

圧縮に未対応のブラウザを除外

古いブラウザによっては圧縮されたデータに対応できない場合があります。
今となってはあまり気にする必要は無いかもしれませんが一応設定しておきます。
下記をSetEnvIfNoCaseの前に追記します。

# Mozilla4.06~8はバグにより除外BrowserMatch ^Mozilla/4\.0[678] no-gzip# Mozilla4系はHTMLだけ圧縮BrowserMatch ^Mozilla/4 gzip-only-text/html# Internet Explorerの場合は除外を回避BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html

設定が完了したらApacheを再起動してください。

/usr/local/apache2/bin/apachectlrestart

動作を確認してみる

適当に1000バイト(半角1000文字)のファイルを用意してみます。

 

まずはmod_deflateを使わずにアクセスして確認。

 

続いてmod_deflateを有効化してアクセス。

データ量が1.3キロバイトから363バイトに減っているので、約4分の1に圧縮できています。

逆に処理時間が9msから18msに増えているためレスポンスが悪くなっているように見えますが、アクセスする度に増減して変化するのでサーバーの状況次第なようです。

実際に使用するかどうかは現在のCPU負荷に合わせて考える必要がありそうです。

関連記事

サーバー

PHPアップデート後にSegmentation faultが出てApacheを再起動できない場合の対処法

PHPをメジャーアップデートしたときにApacheを再起動すると次の表示がでて起動できない場合があります。# /usr/local/apache2/bin/apachectl start/usr/local/apache2/bin/...
サーバー

CentOS 7にApache最新版をソースからインストール

Webサーバーを構築したいときにApacheをyumでインストールすれば何かと楽ですが、バージョンが低いためセキュリティに問題があります。そこで、Apacheの最新版をソースからインストールして安全性を高めたいと思います。使...
サーバー

Apacheで画像のファイル名に「twitter」が含まれていると強制的にMIMEタイプがtext/htmlになる謎現象

※この現象は私の環境だけかもしれません。Webサービスを作成していたある日、アップした画像がいくつか表示されていないことに気付きました。画像URLに直接アクセスしてみると文字化けした文字列が表示され、MIMEタイプはtext/htm...
サーバー

CentOS 7にMemcached最新版をインストールしてPHPと連携する

WEBサービスにMySQLやPostgreSQLなどのデータベースを使うことは多いですが、アクセスが集中すると捌ききれなくなったり、一時的なデータのINSERTが頻繁にあると負荷が高くなったり問題がいくつかでてきます。それを解決する...

コメント

コメントをキャンセル

メールアドレスが公開されることはありません。

CAPTCHA


プロフィール

検索

人気記事

ソフトウェア
jpegtranのインストール方法と使い方【JPG画像最適化】
2019.03.072019.04.07
ソフトウェア
Jpegoptimを導入してJPG画像の容量を圧縮する
2014.08.232019.05.07
ソフトウェア
Mozilla製JPEGエンコーダー「MozJPEG」のインストール方法と使い方
2019.03.312019.04.07
ソフトウェア
OptiPNGのインストール方法と使い方【PNG画像圧縮】
2019.04.29
プログラミング
CentOS 7にPHP最新版をインストール
2015.05.102019.02.19
ソフトウェア
Google製JPEGエンコーダー「Guetzli」のインストール方法と使い方
2019.03.13
ソフトウェア
pngquantのインストール方法と使い方【PNG画像圧縮】
2019.04.07
ソフトウェア
Windows7で特定のドライブ文字を使われないように予約しておく方法
2019.05.26
Webサービス
はてなブログを始めたらサイドバーのモジュールが削除できなくて早々に詰んだ話
2014.08.212019.02.18
データベース
CentOS 7にPostgreSQL最新版をインストール
2015.04.262019.02.19

新着記事

ソフトウェア
Windows7で特定のドライブ文字を使われないように予約しておく方法
2019.05.26
ソフトウェア
OptiPNGのインストール方法と使い方【PNG画像圧縮】
2019.04.29
ソフトウェア
pngquantのインストール方法と使い方【PNG画像圧縮】
2019.04.07
ソフトウェア
Mozilla製JPEGエンコーダー「MozJPEG」のインストール方法と使い方
2019.03.312019.04.07
ソフトウェア
Google製JPEGエンコーダー「Guetzli」のインストール方法と使い方
2019.03.13
ソフトウェア
jpegtranのインストール方法と使い方【JPG画像最適化】
2019.03.072019.04.07
Webサービス
JPG・PNG・GIFなどの画像容量を圧縮できるWEBサービスまとめ
2019.02.272019.05.07
サーバー
PHPアップデート後にSegmentation faultが出てApacheを再起動できない場合の対処法
2016.06.132019.02.20
ソフトウェア
WordPressをPHP7にアップデートして使う際はMySQL拡張に注意
2016.06.102019.02.19
未分類
勢いでJawbone UP2を買って分かった5つのこと
2016.05.272019.02.19

カテゴリー

タグ

画像圧縮CentOSApachePHPはてなブログMySQLVeraCryptWindows7MemcachedMagpieRSSJpegoptimWordPressPostgreSQL

アーカイブ

ホーム
トップ

プロフィール

検索

人気記事

ソフトウェア
jpegtranのインストール方法と使い方【JPG画像最適化】
2019.03.072019.04.07
ソフトウェア
Jpegoptimを導入してJPG画像の容量を圧縮する
2014.08.232019.05.07
ソフトウェア
Mozilla製JPEGエンコーダー「MozJPEG」のインストール方法と使い方
2019.03.312019.04.07
ソフトウェア
OptiPNGのインストール方法と使い方【PNG画像圧縮】
2019.04.29
プログラミング
CentOS 7にPHP最新版をインストール
2015.05.102019.02.19
ソフトウェア
Google製JPEGエンコーダー「Guetzli」のインストール方法と使い方
2019.03.13
ソフトウェア
pngquantのインストール方法と使い方【PNG画像圧縮】
2019.04.07
ソフトウェア
Windows7で特定のドライブ文字を使われないように予約しておく方法
2019.05.26
Webサービス
はてなブログを始めたらサイドバーのモジュールが削除できなくて早々に詰んだ話
2014.08.212019.02.18
データベース
CentOS 7にPostgreSQL最新版をインストール
2015.04.262019.02.19

新着記事

ソフトウェア
Windows7で特定のドライブ文字を使われないように予約しておく方法
2019.05.26
ソフトウェア
OptiPNGのインストール方法と使い方【PNG画像圧縮】
2019.04.29
ソフトウェア
pngquantのインストール方法と使い方【PNG画像圧縮】
2019.04.07
ソフトウェア
Mozilla製JPEGエンコーダー「MozJPEG」のインストール方法と使い方
2019.03.312019.04.07
ソフトウェア
Google製JPEGエンコーダー「Guetzli」のインストール方法と使い方
2019.03.13
ソフトウェア
jpegtranのインストール方法と使い方【JPG画像最適化】
2019.03.072019.04.07
Webサービス
JPG・PNG・GIFなどの画像容量を圧縮できるWEBサービスまとめ
2019.02.272019.05.07
サーバー
PHPアップデート後にSegmentation faultが出てApacheを再起動できない場合の対処法
2016.06.132019.02.20
ソフトウェア
WordPressをPHP7にアップデートして使う際はMySQL拡張に注意
2016.06.102019.02.19
未分類
勢いでJawbone UP2を買って分かった5つのこと
2016.05.272019.02.19

カテゴリー

タグ

画像圧縮CentOSApachePHPはてなブログMySQLVeraCryptWindows7MemcachedMagpieRSSJpegoptimWordPressPostgreSQL

アーカイブ

タイトルとURLをコピーしました

[8]
ページ先頭

©2009-2025 Movatter.jp