nginxとは?webサーバの代表格
nginxはwebサーバと呼ばれるプログラムで世界で最も使用されているwebサーバの一つです。
webサーバとは簡単に言えばスマホやPCでブラウザ(safariやchrome等)で検索すると出てくるwebページをスマホやブラウザに送ってきてくれるプログラムです。
こんなページがみたいというリクエストを世界のどこかにあるサーバに送信した時にnginxなどのwebサーバがこれを処理してページを返してくれます
代表的なwebサーバはnginxとapacheがあります。以前まで圧倒的なシェアを誇っていたapacheですが最近はnginxが巻き上げているそうです。
検索ワードを見るとapacheが多く見えますがapacheはwebサーバ以外の用語としても使われているので実際よりも多くなっていると思います。
なぜnginxが注目されているのか?
nginxはapacheの弱点である大量の同時アクセス処理に強いため注目されていました。
nginxを使用するシーンとして代表的なものとしては以下があげられます。
- 静的サイト公開
- リバースプロキシ
- ロードバランシング
nginxはいわゆるサーバに設置されたhtmlファイルの内容を表示する静的サイトの公開から別サーバの内容を表示するリバースプロキシ、複数のWebサーバに処理を振り分けるロードバランサーとして利用されることが多いです。
apacheと比べると負荷に強い大量の処理をさばくという用途で使用される印象があります。もちろん上記のような限定された用途以外にもnginxは利用できます。
nginxの利点は高速、安定動作、conf記述の柔軟性などが挙げられます。
あまり推奨されていませんが、設定ファイル中にif文を使ってより高度で柔軟な設定を記述することができるのも魅力の一つです。
apacheは多少複雑なことでも簡単にやりやすく、昔からの信頼や安定感、設定情報へのアクセス性などの利点がありますが、今後もnginxの利用は伸びていくと思われます。