Webサイトの入口で振り分けるNginx

Webサイトの入口で、アクセスを正しい場所へ案内するサーバー。

Nginx(エンジンエックス)は、Webサイトの入口に置かれることが多いサーバーソフトです。サーバー構成の説明で「前段にNginx」と書かれていたら、アクセスを最初に受け止める受付係のことだと思ってください。

オフィスの受付は、来客の行き先を確認して正しい担当者へつなぎ、混雑すれば列の整理もします。Nginx も、届いたアクセスを受け取って、ファイルの配信やアプリへの中継に振り分けます。アクセスが増えてもさばきやすく、サイトを安定させやすいのが持ち味です。

入口で引き受けられる仕事

受付一人に、どこまで任せるか。Nginx が担当できる仕事は幅広く、構成によって組み合わせが変わります。

  • 画像やCSSなどの静的ファイルを、アプリを通さずに速く返す
  • アプリの前に立つリバースプロキシとして、アクセスを取り次ぐ
  • 複数のサーバーへアクセスを振り分けて(負荷分散)、落ちにくくする
  • HTTPS の証明書をまとめて扱う

最初から全部を任せる必要はありません。まずは入口、転送先、証明書の3つだけを決めた、シンプルな構成から始めるのがおすすめです。

設定を変える前に

Nginx の設定は、小さな書き間違いひとつでサイト全体が止まることがあります。受付が一人しかいない入口なので、ここが止まると誰も中へ入れません。

  1. 変更する前に、設定のテストを通す
  2. 困ったときに見る場所を決めておく。アクセスログとエラーログの2つ
  3. タイムアウトの値を初期設定のまま放置しない。長すぎれば待たせ続け、短すぎれば途中で切れやすくなる

入口が速くなっても、アプリ本体やデータベースが遅ければページは遅いままです。その場合は奥の担当者の仕事ぶりを別に調べます。