こんにちは。
エンジニアのくるくるです。
サーバー寄りのエンジニアであれば、nginxという名前は聞いたことがあると思います。
nginxはWebサーバーです。
以前であれば、WebサーバーはApache一択でした。
普段の業務の中でも、WebサーバーはApacheを使っているよ、という人は多くいると思います。
ただ近年は、nginxの勢いがすごく、ApacheではなくnginxをWebサーバーとして使っているよという企業も徐々に増えてきました。
これから環境をゼロから構築するのであれば、nginxでやってみようかなという人も多いかと思います。
nginxがApacheよりも好まれる大きな要因は「スピード」です。
Webサーバーの役割を非常に単純化させると、クライアント側(ブラウザ)から投げられたリクエスト(HTTP)にレスポンスする(答える)というのがWebサーバーの役割です。
その役割から考えると、Webサーバーにとって大事なのは、クライアント側のリクエストに対して正しいレスポンスをすることと、それをできるだけ素早く返すことです。
正しいレスポンスを返すというのは、Apacheであろうとnginxであろうと両方とも問題ありません。
となると問題はそのレスポンスのスピードです。
一般的に、nginxの方がApacheよりもレスポンスが速いと言われています。
また、いくつかのベンチマークからも、nginxの方がApacheよりも速いというのは事実であると証明されています。
(もちろん、100%nginxの方が速いという訳ではありません。とある条件下ではApacheが速いこともあり得ます。)
nginxはスピードが速い。これはまぎれもない事実です。
その結果、nginxを使う人も増えてきました。
しかし、Apacheの方が長く使われてきたので、Apacheに関する情報に比べると、nginxに関する情報は少ないです。
これから増えていくとは思いますが、現状Apacheに比べると情報が少ないです。
それはネット上の情報だけでなく、本でも同様です。
そんな中、ちょっと前にnginxのことがよくまとめられている本が登場しました。
その本が「nginx実践入門」という本です。
nginxについて体系だって学べる本は、今の所この一冊しかありません。
ですが、この一冊がかなりの良著でした!
nginxを導入するための方法がかなり詳しく書かれています。
また、nginxを導入する際に、色々パラメーターを設定したりする必要がありますが、それについてもかなり分かりやすく解説されています。
この「nginx実践入門」を読めば、Webサーバーとしてnginxを使うための最低限の知識が身につきますし、この一冊があれば、実際にnginxをWebサーバーとしてインストールし設定まで行えます。
もしあなたが今までにいくつかのプロジェクトでnginxを使ったことがあるのなら、物足りないかもしれませんが、初めてnginxを触るという人にはちょうどいいレベル感の本です。
分かりやすさや説明の丁寧さもありがたいです。
ゴリゴリにチューニングしたいというのであればこの本ではちょっと物足りない部分もあるかもしれませんが、そうでない限りこの一冊を読んでおけばnginxについては問題なくやっていけます。
もちろん、公式のドキュメントを読めば手に入る情報もありますが、初めてnginxを触るのであればいきなり公式のドキュメントを読むのは苦痛です。
まず「nginx 実践入門」を読んでから、必要になった段階で公式のドキュメントを読むなり、もっと難しめの本を読むなりすればいいかと思います。
(とはいえ、これは完全に個人の意見です。人によっては最初は公式ドキュメントから読むべきだという人もいるかと思います。)
nginxを導入すると、Apacheに比べてレスポンスの速さで驚くこともあります。
普段ミドルウェアに触れない人だと、その部分に触れるのはちょっと難しそうで抵抗がある、という人も多いかと思いますが、そういう人にもnginxを手始めにミドルウェアに触れていくことをおすすめしたいです。
Web業界で働くのであれば、Webサーバーについての知識を持っておいて損はありません。
ぜひnginxの世界に足を踏み入れてみてください!笑