【最新地震情報】 最新の地震情報はありません (サイト更新: 07/19 10:30:02)

AWS EC2でのWebサーバー構築

今回のゴール  マークダウンをhtmlにしてWebで公開する

ざっくり工程▼

  1. サーバーを作る(ECにインスタンスを構築)
  2. Macから接続する(EC2へSSH接続)
  3. Webサーバーのソフトを入れる(EC2にNginxを構築)
  4. htmlファイルを用意してサーバーにあげる


1. AWS EC2 インスタンスの構築とSSH接続

AWS上に仮想サーバー(EC2)を起動

  1. AWSコンソールから EC2(Elastic Compute Cloud)へ移動。https://aws.amazon.com/jp/free/
  2. インスタンスを起動し、必要なスペックを設定する。(Amazon Linux 2023)
  3. キーコード(鍵)の発行:
  1. インスタンスの概要欄から「パブリック IPv4 アドレス」をコピーしておく(接続先のIP)。

2. MacのターミナルからEC2にSSH接続

SSH接続

  1. ターミナルを開き、以下のコマンドでEC2にアクセスする。(SSH接続)
ssh -i Downloads/{キーファイル名}.pem ec2-user@{パブリック IPv4 アドレス}

接続権限エラー(Permission denied)の解決

@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ @ WARNING: UNPROTECTED PRIVATE KEY FILE! @ @@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@ Permissions 0644 for 'Downloads/mautokyo.pem' are too open. ... This private key will be ignored. Permission denied (publickey...).
chmod 400 Downloads/{キーファイル名}.pem

接続権限の変更後改めてEC2にSSH接続

  1. 再度以下のコマンドでEC2にSSH接続する。
ssh -i Downloads/{キーファイル名}.pem ec2-user@{パブリック IPv4 アドレス}
  1. EC2接続成功を確認する(鳥がでる!)
, #_ ~\_ ####_ Amazon Linux 2023 ~~ \_#####\ ~~ \###| ~~ \#/ ___ https://aws.amazon.com/linux/amazon-linux-2023 ~~ V~' '-> ~~~ / ~~._. _/ _/ _/ _/m/' Last login: Sun Jul 12 02:19:25 2026 from 118.151.3.145 [ec2-user@ip-172-31-42-25 ~]$



3. Webサーバー用のソフトをセットアップ

WebサーバーソフトNginx と Apache の比較


項目 Nginx(今回導入したもの) Apache(定番)
得意なこと 静的なデータ(画像・HTML)の超高速配信
大量の同時アクセス処理
動的なデータ(PHPなどのプログラム)の処理
多機能で細かい設定
メモリ消費 圧倒的に少ない(省エネ) アクセスが増えるほど多くなる
現在のシェア 世界シェア1位(モダンな開発の主流) 世界シェア2位(WordPressの定番など)

Nginxをインストール

sudo dnf install -y nginx

インストールしたNginxを起動

sudo systemctl start nginx

Nginx自動起動の有効化

ssudo systemctl enable nginx



4. サーバーにhtmlをアップロード

構築したサーバーにHello MAUとテスト表示

  1. 構築したサーバーにHello MAUと表示するコマンド
echo "<h1>Hello MAU</h1>" | sudo tee /usr/share/nginx/html/index.html
  1. テストのテキストを確認する http://{パブリック IPv4 アドレス}

MarkdownをHTMLに書き換える


Macからscp コマンドでEC2へ送る

  1. ターミナルでcontrol + D(セッション終了)またはexitでEC2からログアウト
  2. EC2にhtmlファイルを送る(コマンド scp)
scp -i Downloads/{キーファイル名}.pem Downloads/{ファイル名}.html ec2-user@{パブリック IPv4 アドレス}:/home/ec2-user/

EC2側でファイルを公開フォルダへ移動(mv)する

  1. 再度EC2にSSH接続
  2. 届いたHTMLファイルをNginxの公開場所に名前を変えて配置(上書き)
sudo mv {ファイル名}.html /usr/share/nginx/html/index.html

マークダウンで作成したHTMLを確認する

http://{パブリック IPv4 アドレス}






OTHER

トラブルメモ


Unix/Linux 基本コマンド一覧

用途 コマンド 正式名称(由来) 主な機能・役割 具体的な使用例
現在地と移動 pwd Print Working Directory 現在開いているフォルダのパスを表示する pwd
ls List フォルダ内にあるファイルの一覧を表示する ls -l(詳細も表示)
cd Change Directory 指定したフォルダへ移動する cd Downloads
cd ..(1つ上に戻る)
作成と確認 mkdir Make Directory 新しいフォルダを作成する mkdir project
touch Touch 中身が空の新しいファイルを作成する touch note.md
cat Catenate ファイルの中身を画面に表示する cat note.md
複製・移動・削除 cp Copy ファイルやフォルダをコピーする cp file.txt backup.txt
mv Move ファイルの移動、または名前を変更する mv old.txt new.txt(改名)
rm Remove ファイルを削除する(※即消去される) rm file.txt
権限の変更 chmod Change Mode ファイルのアクセス権限を変更する chmod 400 mautokyo.pem

ターミナル内エディタ(vi)の基本操作

サーバー上のテキストを編集する際は vi を使用する

  1. vi school.txt でファイルを開く(または新規作成)
  2. キーボードの i を押して インサートモード(編集モード) に切り替えて入力する。
  3. 編集が終わったら Esc キーを押してノーマルモードに戻る
  4. :wq と入力して Enter を押し、保存して終了する(Write & Quit)

※保存せずに強制終了したい場合は :q! と入力して Enter



その他メモ