Nginxの設定¶
- 目次
- Nginxの設定
設定ファイルの記述¶
定義済み変数¶
ホスト名を表す変数の違い¶
変数名 | 内容 |
---|---|
$host | リクエストヘッダにHostがあればその値、なければserver_nameと同一 |
$hostname | Nginxを実行しているホスト名 |
$http_name | nameリクエストヘッダの値(ダッシュがアンダースコアに、大文字が小文字に置換される |
$server_name | リクエストを受けた仮想ホストのserver_name、複数指定しているときは最初の定義 |
エラー対処¶
警告 an upstream response is buffered to a temporary file /var/cache/nginx/proxy_temp/...¶
nginxのerror.logに大量にこの警告メッセージが出ている場合、抑止したくなります。
この警告は、メモリバッファが一杯になったのでファイルに吐き出しているという内容です。デフォルトのメモリバッファの大きさは実行している計算機/OSのページサイズと同じ値(4KBか8KB)となっており、これを大きくすることで解消できます(proxy_buffer_sizeパラメータ)。
proxy_buffer_sizeを変更するときは、proxy_buffersも整合を持たせて変更する必要があります。
パフォーマンスチューニング¶
リバースプロキシ¶
バッファリング¶
プロキシのパフォーマンスの鍵がバッファリングです。
次の項目を調整します。
ディレクティブ | デフォルト値 | 内容 |
---|---|---|
proxy_buffer_size | ||
proxy_buffering | ||
proxy_buffers | 8 4k | |
proxy_busy_buffers_size |
- proxy_buffersのデフォルト値の8 4kは、コネクションごとに8個の4KBバッファ(32KB)を使用します。Nginxに1GBのメモリを割り当てているならば、32768コネクションまでサポート可能となります。平均レスポンスサイズが900KBだとすると、proxy_buffersの値を30 32kとするとコネクションごとに30個の32KBバッファ(960KB)を使用するので、Nginxに1GBのメモリが割り当てられているとして1092コネクションまでサポート可能になります。