見出し画像

ApacheとNginx

ミドルウェアへの理解が壊滅的なので、勉強として投稿…。
エンジニアって名乗るの恥ずかしい…ちゃんと勉強しよう。


1)Nginx?

「エンジンエックス」と読む。
(ンギックス、ではないw)

Apache(アパッチ)の代替となり得るWebサーバで、
Yahoo JapanでWebサーバとして利用されているとか。

Apacheの抱える問題(大量同時アクセスetc…)を解決するために開発されたもの。


2)Webサーバってそもそもなんだっけ

APサーバとリクエスト/結果を送/受信するサーバで、
APサーバから受け取った結果はWebブラウザで表示する。

Webサーバが単独でできるのは、HTMLやJavaScriptなどの
静的コンテンツをWebブラウザに表示する
こと。
(いわゆる「フロント」。)


3)AP/DBサーバとの関係

こんなイメージ。↓

 Webサーバ
   ↓↑
 APサーバ
   ↓↑
 DBサーバ


【APサーバ】
 Javaでゴリゴリ書くような業務ロジックが載った「ブレーン」。
 有名なのはTomcat。


【DBサーバ】
 データ保管庫。
 データへのアクセス(INSERT/DELETE etc…)は、
 APサーバから指示が飛んでくる。


ちなみにApache Tomcatは、「Webサーバ」+「APサーバ」の
機能がついたWebアプリケーションサーバ。
(ただしAPサーバ部分は、あくまで簡易的)


4)ApacheとNginxの違い

【Apache】
 HTTP(Web)サービスに特化している。


【Nginx】
 (Apacheの問題を補強するために生まれたこともあって)
 ロードバランサ的な役割も果たす。
 同時リクエストや重たいリクエストが来た時の捌き方が上手。

 細かい機能の実装がないため、Apacheに比べメモリ消費量が少ない。



【出典】
https://academy.gmocloud.com/qa/20160616/2761




いいなと思ったら応援しよう!