nginx 実践入門(エンジンエックス ジッセン ニュウモン)
クラウド・インフラ・DevOps- 著者:
- 久保達彦/道井俊介(クボ,タツヒコ/ミチイ,シュンスケ)
- 出版社:
- 技術評論社
- 出版日:
- 2016年01月16日頃
- ISBN:
- 9784774178660
- シリーズ:
- WEB+DB press plusシリーズ
- 在庫:
- 在庫あり
なぜ注目されているか
書籍紹介
技書の森解説
Web アプリケーションの手前にリバースプロキシを置く構成が標準になった時代に、その中核を担う nginx を「なんとなく動く設定」から卒業して使いこなすための実務書が『 nginx 実践入門』 (久保達彦・道井俊介著、技術評論社、 2016 年刊) です。 WEB+DB PRESS plus シリーズの一冊で、版元の掲げる想定読者は nginx を初めて使う Web 開発者と、さらに使いこなしたい Web 開発者。構築だけでなく高速かつ安定した稼働を支える運用の技法までを射程に入れています。
なぜ nginx は速いのか: イベント駆動という土台
nginx の強みを理解する鍵は、接続ごとにプロセスやスレッドを割り当てる古典的な Web サーバーと違い、少数のワーカープロセスがイベント駆動で大量の接続を捌くアーキテクチャにあります。接続数が万の単位に伸びてもメモリ消費が緩やかで、静的配信やプロキシ用途で高い処理効率を発揮する。この設計こそが、リバースプロキシやロードバランサーとして nginx が選ばれ続けてきた理由です。本書が第 1 章をインストール手順ではなくアーキテクチャの解説 (イベント駆動、ノンブロッキング I/O 、 I/O 多重化) から始めるのは、この土台を先に押さえると後の設定項目の意味が読めるようになるからで、章立て自体が「設定を根拠から理解する」という本書の姿勢を表しています。
基本設定から大規模配信・ Lua 拡張までの構成
版元公式の目次によれば、第 2 章のインストール、第 3 章の基本設定を踏まえ、第 4 章で静的な Web サイトの構築、第 5 章で HTTPS サーバー、第 6 章でリバースプロキシと 負荷分散 を使った Web アプリケーションサーバーの構成、第 7 章で大規模コンテンツ配信、第 8 章で運用とメトリクスモニタリング、第 9 章で Lua による拡張へと進みます。紹介文には gzip 圧縮、 HTTP/2 、アクセス制御、キャッシュ、無停止アップグレード、 OpenResty といったテーマも挙がっており、単発のレシピ集ではなく、構築から運用・拡張までを一気通貫で扱う設計です。
2016 年刊という前提をどう考えるか
本書は刊行時点 (2016 年) の nginx を前提にしています。 HTTP/3 や QUIC 、 TLS 1.3 といったその後に普及したプロトコルは登場前で、当然扱われません。一方で、設定ファイルの文法、ディレクティブの優先順位、イベント駆動の動作モデル、リバースプロキシ設計の考え方といった本書の中心部分は nginx の根幹であり、この層の知識は版が進んでも大きくは陳腐化しません。新しい機能はリリースノートや公式ドキュメントで補う前提で、その読解の土台を日本語で固める本と位置づけるのが実態に合っています。この「土台は本で、更新はドキュメントで」という使い分けは インフラ本の選び方 でも述べられている、賞味期限のある分野での定石です。
設定の理由を説明できるようになりたい人へ
コピペした設定でとりあえず動いてはいるが、障害やパフォーマンス問題のたびに不安になる。そんな Web 開発者やインフラ担当者が、 location の優先順位やプロキシ設定の意図を自分の言葉で説明できるようになる、という到達点に対して本書への投資は回収しやすいはずです。逆に、 QUIC 対応など 2016 年以降の新機能の解説だけが目的の人や、マネージドサービス任せでサーバー設定自体に触れない立場の人には出番が少ないでしょう。 nginx を正面から扱った日本語書は数が限られるだけに、 nginx を運用で任される局面が一度でもあるなら、手元に置く価値のある一冊です。
言及 Qiita 記事 (21 件)
Node.jsの設計をつらつらと概観する
♡ 107JavaScript, Node.js, v8, libuvインターン生向けのISUCON CM
♡ 64MySQL, isucon, perfomanceプログラミング学習を終えた先にある一人前のエンジニアになるためのロードマップ
♡ 48ポエム, エンジニア, ロードマップ, 新人プログラマ応援nginx + Laravel でホーム以外のページの404エラー解決
♡ 43PHP, nginx, LaravelNginxをReverseProxyにしてRailsアプリをデプロイしたらはまった
♡ 35Ruby, Rails, nginx, インフラ, HTTPSNginx どハマりどころ N 選
♡ 34nginx2016年の購入書籍を振り返る
♡ 21技術書, 書籍, 振り返り, エンジニアNginxの設定ファイルのテストとパフォーマンスを上げる設定
♡ 10nginx, 入門, YouTube, やっすんNginxの名前の由来と設定ファイルの書き方、locationの書き方
♡ 10nginx, 入門, YouTube, やっすんISUCON14参加記
♡ 7isucon
この本に興味がある方におすすめ
この本に関連
関連記事
体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版は初版と何が違うか - 買い直し判断ガイド
通称「徳丸本」こと体系的に学ぶ 安全な Web アプリケーションの作り方 第 2 版 (2018 年) と初版 (2011 年) の違いを出版社公表の改訂内容から整理。章の削除 / 新設 / 追加点の一覧と、初版所有者が買い直すべきかの判断基準を解説します。
OS / 低レイヤー本ガイド - コンピュータの仕組みを学ぶ技術書の選び方
OS、コンパイラ、ネットワークなど低レイヤーを学べる技術書の 4 ジャンルと、どこから始めるべきかの指針、賞味期限の見極め方を紹介します。
Web 開発本ガイド - フロントエンドからバックエンドまで
Web 開発の全体像を学べる技術書の選び方と学習マップを紹介。フレームワーク本の賞味期限問題と公式ドキュメントとの使い分けも解説します。
関連用語
PWA
Service Worker やマニフェストを活用し、Web 技術でオフライン対応やプッシュ通知などネイティブアプリに近い体験を提供するアプローチ
Dev Container
Docker コンテナ内に開発環境を定義し、チーム全員が同一の環境で開発できる仕組み
ゲーム開発
ゲームを企画 / 設計 / 実装する分野。技術と表現が高度に融合する領域
コンテナ
アプリケーションとその依存関係をパッケージ化し、環境に依存しない一貫した実行環境を提供する仮想化技術
PHP
Web 開発で広く使われるサーバーサイド言語。動的な Web ページ生成を得意とする
C4 Model
ソフトウェアアーキテクチャを 4 つの抽象レベルで図示するモデル