プログラミング初学者がまとめる〜nginxについてまとめてみようと思う。〜
*自身の言葉で書いてますので、間違っていることもあるかと思いますが、ご了承ください。訂正のコメントを頂けるとありがたいです。*
今回はwebサーバーの一つ、nginxについてまとめていこうと思います。
よく比較されるAppachとの使い分けについても少し触れてます。よければ最後まで読んでみてください!!
◯nginxとは
apacheなどと同じwebサーバの一つです。
webサーバーのシェアは世界の40%くらいだそうで、appachと分け合ってると言う状況だそうです(2020年11月現在)。
◯nginxのメリット
・高速
・大量処理が得意
・設定は意外に容易
高速・大量処理が得意
例えば、Webサーバーの負担を軽くして処理速度を上げる手段として、「リバースプロキシ」や「ロードバランサー」などがあります。これらの実現にはNginxが動作方法の違いから向いています。(nginxは大量アクセスに対して、分散して処理を行う。appachは大量アクセスを一つにまとめてから処理を行う。)
またnginxの立ち位置はリバースプロキシです。つまり簡単なHTTPリクエストはnginxが担い、難しいリクエストはPuma+Railsに任せるということです
設定は意外に容易
nginxはappachより新しいwebサーバーであるため、設定ファイルの情報が少なかったり難しいと捉えられる時が多かったそうです。しかし近年のアップデートにより使いやすくなってきたみたい。
◯nginxのデメリット
・大量の動的コンテンツの処理に不向き(動画サービスなど)
・Rackは直接つなげることができない。→Unicornやpumaを挟む必要がある。
実際rackに接続できないので、nginxなしでpumaのみでいいのでは?と考えるかも?しれません。しかしnginxの処理速度の早さは評価が高く導入するパターンが多いです。
◯(番外編)なぜPFにnginxを導入するのか?
1,(appachに比べて)処理速度が速いこと。
2,動画コンテンツのアプリではないこと。
ここあたりをいい感じに言葉にすればいいのでは?とまとめてて思いました!!
◯まとめ
今回はnginxについて割と細かめにまとめてみました!
少しでも理解が深まるようでしたら幸いです!!
最後まで読んで頂きありがとうございました!!