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が起動していても外部からアクセスできません。
【実践フェーズ】
- EC2インスタンス(Amazon Linux 2023)に接続する
ssh -i "your-key.pem" ec2-user@<パブリックIP>
- Nginxのインストール
sudo dnf install -y nginx
- Nginxの起動と自動起動設定
sudo systemctl start nginx sudo systemctl enable nginx
- セキュリティグループでポート80を許可(コンソール操作)
- 動作確認
ブラウザで「http://<EC2のパブリックIP>」にアクセスし、Nginxのデフォルトページが表示されることを確認 - 静的ウェブサイトの設置
設置場所:/usr/share/nginx/html/index.html
- 再度ブラウザでアクセスし、作成したHTMLが表示されることを確認
補足
- デフォルトのドキュメントルートは
/usr/share/nginx/html
- ファイル配置後、Nginxの再起動は不要(そのまま反映される)
- 権限エラーが出た場合は
sudo
を付けて操作する - デフォルトルートの設定場所
Nginxのドキュメントルートは、設定ファイルnginx.confに記載されています。設定ファイルは以下のパスにあります。/etc/nginx/nginx.conf