質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Q&A

1回答

3503閲覧

Nginx高速化・gzip設定について

fx_1549

総合スコア5

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

0グッド

0クリップ

投稿2017/08/10 04:09

###前提・実現したいこと

以下の2点を、お願いします。

■1)Nginxでの高速化をしたいですが、どうすればいいのでしょうか?
現在の書式は、後述の通りです。

■2)gzip設定について

/etc/nginx/nginx.confの

location / {
}

の中に以下を記述したのですがgzipが有効になりません
Gtmetixで確認するとEnable gzip compressionと出たままです
何か記述ミスなのでしょうか?

gzip on;
gzip_http_version 1.0;
gzip_types text/plain
text/xml
text/css
application/xml
application/xhtml+xml
application/rss+xml
application/atom_xml
application/javascript
application/x-javascript
application/x-httpd-php;
gzip_min_length 1000;

location ~* ^.+.(jpg|jpeg|gif|css|png|js|ico|css)$ {
expires 30d;
}
location ~* ^.+.(js|html)$ {
expires 1d;
}

set $do_not_cache 0;
if ($http_accept_encoding !~ "gzip") {
set $do_not_cache 1;
}
proxy_no_cache $do_not_cache;

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

hotta

2017/08/10 04:16

コードや設定部分を範囲指定して、<code>をクリックしてください。
guest

回答1

0

server { } 中身が 分からないので何とも言えないのですが、 Location { } の中に書いてある gzip の設定が有効にならないということは、アクセスしている URL が、gzip設定を記載している location の中とは別の部分で応答しているということは無いでしょうか?

location { } の中に書いているのであれば、とりあえず location から出して、server{ } の中に移してサーバー全体に適用してみたら状況に変化はありますか?


また、確認方法ですが、どのように確認したのでしょうか?

簡単な方法として、コマンドラインから

curl -I -H 'Accept-Encoding: gzip,deflate' **URL**

で、アクセスしてみて、レスポンスヘッダに

Content-Encoding: gzip

が、含まれていたら gzipで圧縮されています。

投稿2017/08/10 04:30

編集2017/08/10 04:31
CHERRY

総合スコア25171

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

fx_1549

2017/08/10 04:51

ご回答ありがとうございます。 以下、コマンド結果です。 HTTP/1.1 200 OK Server: nginx Date: Thu, 10 Aug 2017 04:48:21 GMT Content-Type: text/html Last-Modified: Sun, 05 Feb 2017 17:30:00 GMT Connection: keep-alive ETag: W/"58976118-c55" X-Powered-By: PleskLin Content-Encoding: gzip ただ、GTmetrix で、https://gtmetrix.com/reports/*******/gd3uS4VK の「Enable gzip compression」項目で非常に結果が悪く、Fランクですので、 全体的に高速化したい意向はございますが、何かございませんでしょうか?
CHERRY

2017/08/10 05:17

結果から見ると サーバの gzip 圧縮は有効になっていますね。 管理しているページで gtmetrix をいくつか試してみたところ、圧縮率が、50%のサイトは、Aランクで、圧縮率が 98% のサイトでは、Fランクでした。 Enable gzip compression 評価が、圧縮率に比例しているような感じだったのですが、圧縮率の悪いコンテンツが多いのサイトだったりするのでしょうか?
fx_1549

2017/08/10 05:29

コンテンツは、画像などが多いサイトですので、そうすると、やむを得ないのでしょうか? 出来れば、サイト自体を高速化したいのですが、Nginxの記述書式が分かりませんが、例)http://qiita.com/zaru/items/c41072e29b9550c2e6a8 の様に、今の書式にキャッシュなどを付与したらと思うのですが、いかがでしょうか?他にもドメインがあり、マルチドメインの為、ドメイン・URLの部分は、* で良いのでしょうか?
CHERRY

2017/08/10 06:02

サイト全体を高速にしたいということですが、サイトのどの部分が遅くなっているか解析・理解されていますか? 遅い原因といっても 画像サイズが大きいのでデータ転送量が多いとか アクセス数が多くて待ちが多いとか 動的に生成していてHTML生成に時間がかかっているとか 等 多くの要因があります。 当然ですが、遅い原因によって対策が変わります。 もし、原因を特定していないのであれば、まずは、原因を特定するところから始めるようにしましょう。
CHERRY

2017/08/10 06:04

最初のとっかかりとしては、Chrome のデベロッパーツールで、ネットワークタブを見て、Webサイトを表示するのにどこで時間がかかっているか調べてみてください。
coco_bauer

2017/08/10 06:20

画像ファイルのフォーマットは、jpegが多いのではないでしょうか。jpegは非可逆圧縮された形式ですので、それ以上に圧縮しようとしてもできません。jpegファイルをgzip圧縮すると、ファイルサイズが若干増える場合が多いです。GIFは圧縮されていないフォーマットなので、gzip圧縮の効果が大きい場合が多いです。
fx_1549

2017/08/12 13:11

ありがとうございます。
fx_1549

2017/08/12 13:12

ちなみにですが、現在の記述にキャッシュの追記をするには、どうすればいいのでしょうか?
CHERRY

2017/08/12 13:19

キャッシュというのは、Webブラウザのキャッシュですか?
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問