lightsailで学ぶwebサーバの基礎


webサーバとして有名なapacheやnginxが一体どういう役割を果たしているのかがわからなかったのでまとめた。

lightsail を申し込む

awsのサービスであるlightsailに申し込むとipアドレスをもらうことができます。

http://3.112.221.xxx でアクセスしてみる

これは表示されません。

apacheをインストールし、起動する

https://www.digitalocean.com/community/tutorials/how-to-install-the-apache-web-server-on-ubuntu-20-04-ja
を参考にしながらサーバにapacheを導入、起動します。

再度http://3.112.221.xxxでアクセス

下のような画面が表示されます。どうやらリモートのページにつながったよう。

webサーバの役割

サーバにipアドレスを割り振られただけではサーバのデータにアクセスすることができません。
サーバ側が、飛んでくるhttpリクエストに対して適切な応答をするための窓口を設けてあげる必要があります。そして、その窓口の役割を果たすのがwebサーバというソフトウェアであり、webサーバを起動することで窓口が開設されます。

apacheを入れればどんなコンピュータでもサーバーになれるのか

そう単純な話でもない。研究室のpcでapacheサーバを立ててそこにアクセスしてみた。

#lab pc

$ip a
*****
192.168.xx.xx      #ローカルip
*****

$curl inet-ip.info
133.11.xx.xx       #グローバルip

環境1

http://133.11.xx.xxにmacからブラウザでアクセス
->繋がらない

環境2

http://192.168.xx.xxにmacからブラウザでアクセス(同一のLAN内)
->つながる

結果

どうやら同一のLANでないと繋がらなさそうだ。じゃあなんでlightsailはグローバルにつながるのか。研究室のLAN環境はどうなっているのだろうか。