nginx実践入門 (WEB+DB PRESS plus)

読書の目的

  • nginxに対する知識の深化
    • ApacheのConfなら多少触ったことあるのでわかるがnginxはあまりなかったのだが基本同じで個人的にはnginxのほうがシンプルでわかりやすいかなと言う印象。
  • nginxの基本設定を学習
    • 何もみずにやれ!と言われたらちょっと現時点ではまだ厳しいか。ただググったり書籍を見ながらならいける程度の自信はついた。
  • バーチャルサーバやリバースプロキシの設定方法の知識習得
    • 多分いける。まだ自信はちょっとないけど一度か二度ほど実践すれば問題なかろうなのだ。
  • 静的Webサイトの構築設定
    • いける。
  • 高速なHTTPSサーバの構築と運用ノウハウ
    • やらんとわからんのでなんとも…個人開発だとそもそもそんなにトラフィック来ることないし。
  • 大規模コンテンツ配信サーバの構築
    • 出来るかどうかは微妙だけどやり方はわかった…気になってる。
  • nginxのバッドノウハウや注意点
    • コレに関しては唯一不満点かもしれない、あまりそういう内容の記述はなかったので黒魔術的な扱いを期待している人にはあわないかも
  • Luaによるnginx拡張による拡張性の認識
    • Luaの書き方が若干Golangっぽいところがあって割りと読みやすかった。

評価

  • [x] :+1: * 1024

書評(まとめ)

  • 非常にわかりやすくまとまった良書という印象。
  • どこかで詰まるということがなくスラスラと読めた、にも関わらず書かれているもののクオリティーは決して低くない。
  • 残り2章となったときに「ああ、もうすぐ読み終わってしまう…もったいない」と感じるほどにお気に入り。
  • 「nginxが書かれたいい技術書ない?」って聞かれたら一番に上げるくらいボクの中で評価が高い。

事前に気になった/重要そうな箇所

  • 特にここが重要!といったことはなかった、全て基礎として知っておくべきことが書かれているという印象。
  • ただ唯一謎いなあと思ったのがnginxを使って画像ファイルのrotateを変更することが出来るらしいのだけどもこれが出来ることでなにか嬉しいことがあるのだろうか?という疑問が浮かんだ。具体的な使用例がイメージしにくい。

重要(page:message)

ノンブロッキングIOと非同期IOの違い(p10.)

引用すると長いため簡単にまとめた。間違いがあれば指摘して欲しい。

  • ノンブロッキングIOはブロックされる見込みがある入出力処理や処理できるデータがない場合に即時エラーを返す。ブロックされる可能性が高い入出力を中断することで別のディスクリプタとの入出力処理に移ることでプログラムの並行性を高めている。
  • 非同期IOは先に実行した入出力のエラーや完了をプログラムに通知するインターフェイスがあり、これを利用することで非同期に並行性を高めた実行を可能にしている。

反論/異論(page:message)

  • 特になし!

おわり

だいぶ積ん読になっていた技術書を倒せてきている。 この調子でガンガン減らしていく。

とりあえず次は↓を読む予定。

SQLアンチパターンが読了したらひとまずインプットを一旦やめてアウトプットに専念しようと思っている。 具体的な目標としてはWebアプリケーション開発になっているので

  • Dockerで開発環境を一括で作成できるようにする
  • Dockerで作成される項目にnginxを使用する
  • Ruby on Railsで作成する
  • Github上に公開
  • DBはMySQLの予定(使い慣れてるから)
  • キャッシュはmemcached
  • 将来的にはRedisを使ってゴニョゴニョしたいという構想がある。

こんな感じで考えている。 こうやってみるとかなりヘビーっぽく見えるがまあなんとかなるだろ!という気持ちでやり抜く所存。