LoginSignup
2
1

More than 1 year has passed since last update.

AWS EC2にNginxをインストールする手順を図解

Last updated at Posted at 2022-03-21

はじめに

完全にAWS初心者向けです。
私がAWS初心者です。。。プライベートではずっとGCP(Firebase)を使っているのですが、仕事ではAWSを使っています。

なので、まずはシンプルに
「AWSでWebアプリケーションを公開するにはどうしたらいい?」
という疑問を解消していきたいな〜っと思ってやってみました。

EC2とNginxについて

私は今までwebアプリケーションのデプロイにはFirebase hostingを使っていました。

なのでAWSでも「コマンド1つでパッとデプロイできるんかな〜?」とか思ってましたが、全く違いましたw

EC2とNginxについての解説はさまざまな所でされていると思うので、詳しい説明はここでは省きますが:bow_tone1:ざっくり言うと

「EC2」と言う仮想サーバーの中に「Nginx」と言うWebサーバーを入れる

と言う感じでしょうか。

EC2とは

EC2とは「Amazon Elastic Compute Cloud」の略称で、AWSで利用できるシステムのひとつとなっています。伸縮性や弾力性を意味するElasticという言葉通り、ユーザーの必要に応じてスペックを変更できるのがEC2の魅力です。
https://www.wafcharm.com/blog/ec2-for-beginners/

Nginxとは

世界的に使用される著名なWebサーバソフト「Apache」のライバル的な存在となるのがNginx!!
つまり「Webサーバソフトの1つ」です。

EC2インスタンスを作成

AmazonのEC2はインスタンスという単位で、サーバー環境が構築できます。インスタンスとは簡単に言えば、OSを載せた仮想サーバーのことです。また、インスタンスは複数作成して実行することもできます。
例えば、アプリケーションサーバーとデータベースサーバーなど、合計で2つのサーバーが必要な場合は、インスタンスを2つ作成して対応できます。
このように、必要に応じて複数のインスタンスを立ち上げることで、柔軟なインフラ構築ができるのがAmazon EC2の強みです。
https://techplay.jp/column/537

👆がインスタンスです。

一応スクショを載せますが、こういったコンソール画面はコロコロとデザインが変わると思うので、参考程度のお気持ちで見るのがいいかと思います:sweat_smile:

インスタンスを起動

スクリーンショット 2022-03-21 18.07.16.png
インスタンスを起動>Amazon Linux 2を選択>デフォルトで選択されているt2.micro

Amazon Linux 2を選択

デフォルトで選択されてるかと
スクリーンショット 2022-03-21 18.11.35.png

t2.microにチェックをつけて次のステップ

デフォルトで選択されてるかと
スクリーンショット 2022-03-21 18.12.49.png

詳細の設定はデフォルトで次のステップ

スクリーンショット 2022-03-21 20.16.36.png

ストレージの追加もデフォルトで次のステップ

スクリーンショット 2022-03-21 20.17.42.png

タグの追加もデフォルトで次のステップ

スクリーンショット 2022-03-21 20.18.10.png

セキュリティグループの設定でhttpを追加

webサーバなのでhttpで入ってくる必要もある。なのでhttpを追加。
ソースが全て0なのは、「どこからでも受け付ける」みたいな意味(らしいです)
スクリーンショット 2022-03-21 20.20.56.png

インスタンス作成の確認

キーペアなしで続行します。
スクリーンショット 2022-03-21 20.24.08.png

Nginxをインストール

インスタンスが実行中になったら接続
(実行中になった段階から課金スタートっぽいです)
スクリーンショット 2022-03-21 20.28.52.png

とりあえずデフォルトのまま接続
スクリーンショット 2022-03-21 20.29.12.png

コマンド実行していく

スクリーンショット 2022-03-21 11.45.55.png

// nginx1.12をインストール
sudo amazon-linux-extras install nginx1.12

// これでいいか聞かれる
Is this ok [y/d/N]: y

// nginx起動
sudo systemctl start nginx

// 起動しているか確認
systemctl status nginx

スクリーンショット 2022-03-21 20.41.11.png

アクセスしてみる

IPアドレスでアクセスしてみる
スクリーンショット 2022-03-21 20.42.34.png

webサーバが起動して、外部からアクセス成功:relaxed:
スクリーンショット 2022-03-21 20.43.01.png

終了する

// 切断する
exit

スクリーンショット 2022-03-21 20.47.01.png

インスタンスの状態>インスタンスを停止を選択

スクリーンショット 2022-03-21 20.49.09.png

最後に

これで仮想マシンEC2を立ち上げてwebサーバNginxを立ち上げアクセス、と言う一連の流れがとりあえずはできました・・・・:relieved:

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1