🔰 Webサーバーを立てるってどういうこと?
この記事では、
「Webサーバー立ててって言われたけど、どういう意味?」
「そもそもサーバーって何なの?」
という状態の過去の私に向けて、「Webサーバーを立てる」とはどういうことなのかを、超やさしく解説していきます!
少し苦手意識がある人でも読めるように、言葉をできるだけかみ砕いて説明するので、ぜひ最後まで読んでみてください😊
🧠 サーバーって、そもそも何?
「サーバー」っていう言葉、聞いたことはあるけど意味は曖昧……という人も多いのでは?
実は「サーバー」っていろんな意味で使われているんです。
- 物理サーバー:実体のある「箱型のPC」。データセンターに置かれている。
- 仮想サーバー:物理サーバーの中に仮想的な小部屋を作る技術。
- Webサーバー:リクエストを受けて、ページなどを返す役割のソフトウェア(例:nginx)。
- DBサーバー:データベースを管理・提供するソフトウェア(例:MySQL)。
- APサーバー:アプリの処理を担当(例:PHP, Laravelなど)。
つまり、「サーバーを立てる」というのは:
📦 サーバー用の“箱”を用意して、その中にソフトを入れて、動かすこと!
今回は「WebサーバーをDockerというツールを使って立てる」について説明していきます!
🏎 サーバーの立て方って、車に例えると?
「サーバーを立てる」って、ちょっとイメージしづらいかもしれません。
でも、実は車を作って走らせる流れにとても似てるんです!
工程 | 車の場合 | Dockerでサーバーを立てる場合 |
---|---|---|
① 本体を用意 | ボディ(車体)を組み立てる | コンテナを作る(箱を用意する) |
② 中身を入れる | ハンドル・タイヤ・エンジンなどの部品をつける | nginxなどのソフトウェアをインストールする |
③ エンジン始動 | キーを回して走り出す | コンテナを起動してサーバーを立ち上げる |
つまり、
🚗 Dockerで「Webサーバー用の車を組み立てて、nginxというエンジンを載せて、動かす」
→ これが「Webサーバーを立てる」ってことなんです!
🔁 他のサーバーも、エンジンを変えればOK
・nginxを載せれば「Webサーバー」
・PHP-FPMを載せれば「APサーバー」
・MySQLを載せれば「DBサーバー」
中に載せる部品(=ソフト)を変えるだけで、違う種類のサーバーに変身するんです!
🌐 Webサーバーって何ができるの?
Webサーバーは、
ホストPC(=あなたのパソコン)とアプリ(Laravelなど)をつなぐ橋
と覚えましょう!
ここでいうアプリの概念がよくわからない人むけに説明しておきます👇
🤖 アプリって何するの?
例えばLaravelのようなWebアプリは、こういう処理をしています:
- ユーザーのログイン情報を確認したり
- データベースからデータを取り出したり
- 「この人に見せるべきページ」を判断して、HTMLを作ったり
つまり、「人間の頭を使うようなこと」を担当してるのがアプリ!
(=APサーバーの役割)
一方でWebサーバーは、アプリのように「考えること」はできません。
でも、「誰からの依頼かを受け取って、正しい人に渡す」ことが得意です。
🌉 「宅配便」に例えてみる
誰が何をする? | たとえ(宅配便) |
---|---|
ブラウザ | お客さん。商品(Webページ)が欲しい! |
Webサーバー(nginxなど) | 配達員。お客さんから注文を受けて、倉庫に届ける。 |
APサーバー(Laravelなど) | 倉庫スタッフ。注文に応じて商品を用意する。 |
Webサーバー | 商品を受け取って、お客さんに届ける。 |
ブラウザ | 商品(Webページ)を受け取って表示する。 |
橋渡しの流れ👇
ブラウザで http://localhost:8080 にアクセス
↓
Webサーバーがリクエストを受け取る
↓
「これは自分じゃ処理できないな」と判断(例:PHPファイル)
↓
アプリ(APサーバー)にバトンタッチ
↓
アプリが処理した結果(HTML)をWebサーバーに返す
↓
Webサーバーがそれをブラウザに返す
🔧 他にもWebサーバーの役割はたくさん!
👀 アクセスログの記録(誰がいつ来たか?など)
🖼 静的ファイルの配信(画像やCSSなどは自分で直接返せる!)
🛡 セキュリティの設定(変なアクセスをブロックできる)
🛠 実際にWebサーバーを立ててみよう!
「百聞は一見にしかず!」
ということで、実際にWebサーバーをDockerで立ててみましょう!
こちらのDockerとnginxを使ったWebサーバーの構築を手順付きで解説しています。
✨ まとめ
- 「サーバーを立てる」=箱を用意してソフトを入れて動かすこと
- Webサーバーは、ブラウザとアプリの「橋渡し」役
- Dockerを使えば、簡単にWebサーバーを作れる!
📌この記事が、過去の自分や、これからWebサーバーを勉強したい人にとって「なるほど!」となるきっかけになったら嬉しいです!
Discussion