aws

【H-1】Nginx設定

EC2(Amazon Linux 2023)にNginxをインストールし、静的ウェブサイトを公開してみましょう。
EC2のIPアドレスから静的ウェブサイトが表示されれば成功です。

【学習フェーズ】

Nginxとは

Nginx(エンジンエックス)は、軽量で高速なWebサーバーソフトウェアです。ミドルウェアとも言われます。
静的コンテンツや、負荷分散やリバースプロキシとしても利用されます。
Apacheに比べてシンプルな設定で動作し、近年多くのシステムで採用されています。

Nginxの起動・管理方法

Nginxはサービス(デーモン)として動作します。起動や停止、ステータス確認にはsystemctlコマンドを使用します。

  • 起動:sudo systemctl start nginx
  • 停止:sudo systemctl stop nginx
  • 自動起動設定:sudo systemctl enable nginx

デフォルトのドキュメントルート

Nginxが配信するファイルの保存場所はドキュメントルートと呼ばれます。AL2023におけるデフォルトルートは以下のパスです。

/usr/share/nginx/html

このディレクトリにHTMLファイルを配置すると、サーバーのIPアドレスにアクセスした際にその内容が表示されます。
例えば、index.htmlを置くことでトップページとして認識されます。

セキュリティグループ設定の重要性

AWS EC2では、インスタンス側の設定だけではWeb公開できません。セキュリティグループでポート80(HTTP)を許可する必要があります。これを設定しないと、Nginxが起動していても外部からアクセスできません。

【実践フェーズ】

  1. EC2インスタンス(Amazon Linux 2023)に接続する
    ssh -i "your-key.pem" ec2-user@<パブリックIP>
  2. Nginxのインストール
    sudo dnf install -y nginx
  3. Nginxの起動と自動起動設定
    sudo systemctl start nginx sudo systemctl enable nginx
  4. セキュリティグループでポート80を許可(コンソール操作)
  5. 動作確認
    ブラウザで「http://<EC2のパブリックIP>」にアクセスし、Nginxのデフォルトページが表示されることを確認
  6. 静的ウェブサイトの設置
    設置場所:/usr/share/nginx/html/index.html
  7. 再度ブラウザでアクセスし、作成したHTMLが表示されることを確認

補足

  • デフォルトのドキュメントルートは/usr/share/nginx/html
  • ファイル配置後、Nginxの再起動は不要(そのまま反映される)
  • 権限エラーが出た場合はsudoを付けて操作する
  • デフォルトルートの設定場所
    Nginxのドキュメントルートは、設定ファイルnginx.confに記載されています。設定ファイルは以下のパスにあります。
    /etc/nginx/nginx.conf