Tips

Nginx応用編②リバースプロキシとして動かす(前編)。Linuxサーバ構築手順まとめ

Nginxの設定を変更する

次にNginxの設定ファイルをいじっていきます。
(※今回は変更箇所をできるだけ少なくするようにしています。)

まずはhttpディレクティブ(nginx.conf)を修正します。

# vi /etc/nginx/nginx.conf

次のようにリバースプロキシ用の設定を1行追加します。

proxy_cache_path /var/cache/nginx/proxy_cache levels=1:2 keys_zone=cache1:15m inactive=7d max_size=1000m;

以下のような別のconfファイルをincludeする記述の手前に追加しましょう。

include /etc/nginx/conf.d/*.conf;

「proxy_cache_path」で、キャッシュファイルを格納するディレクトリを定義します。ディレクトリの後ろに記述されるオプションの説明は以下の通り。
・levels=1:2
levelsオプションは、キャッシュを保存するディレクトリの階層の深さを設定します。親ディレクトリは、定義してある通り「/var/cache/nginx/proxy_cache」ディレクトリに保存されますが、levelsでそのサブディレクトリの階層を定義するのです。
例えばlevels=1とすると、
「/var/cache/nginx/proxy_cache/2/eeeeee0d485aca6abfca0ebb34561f77」
となり、levels=1:2とすると、
「/var/cache/nginx/proxy_cache/2/f7/eeeeee0d485aca6abfca0ebb34561f77」
となります。

・keys_zone=cache1:15m
キャッシュのゾーン名(cache1)を定義します。また、ゾーンのサイズ(15m)も指定する必要があります。このサイズは、後述の「max_size」と、キャッシュする1ファイルの平均サイズから計算して設定します。

・inactive=7d
ここで指定した期間(7日間)アクセスがない場合、そのキャッシュを削除します。

・max_size=1000m
キャッシュの最大値を設定します。

次に、「server」ディレクティブ内の「location」ディレクティブ(default.conf)の記述を変更しましょう。

# vi /etc/nginx/conf.d/default.conf

「location /」ディレクティブに次の記述を追記します。

proxy_pass http://127.0.0.1:8080;
proxy_cache cache1;
proxy_cache_valid  200 1d;

proxy_pass
Webサーバ(Apache)へのアクセスパスを記述します。
ポート番号を8080にしています。後ほど、このポート番号とApacheのhttpd.confのListenの値を合わせます。

proxy_cache
先ほど定義したproxy_cache_pathのkeys_zoneのゾーン名とこの項目を合わせます。

proxy_cache_valid
httpのレスポンスコードと、そのレスポンスコードを返した際のキャッシュ時間を定義します。上記例の場合、正常レスポンス(200)を返した場合には1日(1day)キャッシュする、という意味になります。

これでNginxの設定は終了です。設定を再読込しておきましょう。

# /etc/init.d/nginx reload

Linux認定資格 LPICを取るなら・・

Linux資格 「LPIC Lv1」徹底解説 連載目次

Recent News

Recent Tips

Tag Search