EC2をWEBサーバーとして運用するためにNginxをインストールしてみます
ブラウザからEC2へアクセスできるようになります
前提
EC2インスタンスを作成していることが前提になります。
もし、作成していない場合は、下記を参考に作成してみてください
Nginxのインストール
EC2へSSH接続します(筆者は ec2-user を使用します)
→ sudo を使用して、いくつかのコマンドを実行しています
方法がわからない方は以下を参考にしてみてください
yumではなく、amazon-linux-extras コマンドを使用してインストールしていきます
amazon-linux-extras コマンドの確認
whichコマンドで amazon-linux-extras コマンドのパスを表示します
(実行コマンド)
1 |
which amazon-linux-extras |
(実行結果)
1 2 |
[ec2-user@ip-×××-××-××-×× ~]$ which amazon-linux-extras /usr/bin/amazon-linux-extras |
もし、エラーが出た場合は、amazon-linux-extras コマンドをインストールしましょう
(実行コマンド)
1 |
sudo yum install amazon-linux-extras |
パッケージの確認
(実行コマンド)
1 |
amazon-linux-extras list | grep nginx |
(実行結果)
1 2 |
[ec2-user@ip-×××-××-××-×× ~]$ amazon-linux-extras list | grep nginx 38 nginx1 available [ =stable ] |
nginx1 という名前で登録されているので、これをインストールします
インストール
(実行コマンド)
1 |
sudo amazon-linux-extras install nginx1 |
→ Is this ok [y/d/N]: とでたら、y と入力してインストールします
(実行結果)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 |
[ec2-user@ip-×××-××-××-×× ~]$ sudo amazon-linux-extras install nginx1 Installing nginx Loaded plugins: extras_suggestions, langpacks, priorities, update-motd Cleaning repos: amzn2-core amzn2extra-docker amzn2extra-kernel-5.10 amzn2extra-nginx1 (略) =========================================================================================================================================================== Package Arch Version Repository Size =========================================================================================================================================================== Installing: nginx x86_64 1:1.20.0-2.amzn2.0.5 amzn2extra-nginx1 580 k Installing for dependencies: gperftools-libs x86_64 2.6.1-1.amzn2 amzn2-core 274 k nginx-filesystem noarch 1:1.20.0-2.amzn2.0.5 amzn2extra-nginx1 23 k openssl11-libs x86_64 1:1.1.1g-12.amzn2.0.9 amzn2-core 1.4 M openssl11-pkcs11 x86_64 0.4.10-6.amzn2.0.1 amzn2-core 61 k Transaction Summary =========================================================================================================================================================== Install 1 Package (+4 Dependent packages) Total download size: 2.3 M Installed size: 6.6 M Is this ok [y/d/N]: y Downloading packages: (1/5): nginx-filesystem-1.20.0-2.amzn2.0.5.noarch.rpm | 23 kB 00:00:00 (2/5): gperftools-libs-2.6.1-1.amzn2.x86_64.rpm | 274 kB 00:00:00 (3/5): nginx-1.20.0-2.amzn2.0.5.x86_64.rpm | 580 kB 00:00:00 (4/5): openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64.rpm | 61 kB 00:00:00 (5/5): openssl11-libs-1.1.1g-12.amzn2.0.9.x86_64.rpm | 1.4 MB 00:00:00 ----------------------------------------------------------------------------------------------------------------------------------------------------------- Total 8.1 MB/s | 2.3 MB 00:00:00 Running transaction check Running transaction test Transaction test succeeded Running transaction Installing : 1:openssl11-libs-1.1.1g-12.amzn2.0.9.x86_64 1/5 Installing : openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64 2/5 Installing : gperftools-libs-2.6.1-1.amzn2.x86_64 3/5 Installing : 1:nginx-filesystem-1.20.0-2.amzn2.0.5.noarch 4/5 Installing : 1:nginx-1.20.0-2.amzn2.0.5.x86_64 5/5 Verifying : 1:nginx-1.20.0-2.amzn2.0.5.x86_64 1/5 Verifying : openssl11-pkcs11-0.4.10-6.amzn2.0.1.x86_64 2/5 Verifying : 1:nginx-filesystem-1.20.0-2.amzn2.0.5.noarch 3/5 Verifying : gperftools-libs-2.6.1-1.amzn2.x86_64 4/5 Verifying : 1:openssl11-libs-1.1.1g-12.amzn2.0.9.x86_64 5/5 Installed: nginx.x86_64 1:1.20.0-2.amzn2.0.5 Dependency Installed: gperftools-libs.x86_64 0:2.6.1-1.amzn2 nginx-filesystem.noarch 1:1.20.0-2.amzn2.0.5 openssl11-libs.x86_64 1:1.1.1g-12.amzn2.0.9 openssl11-pkcs11.x86_64 0:0.4.10-6.amzn2.0.1 Complete! 0 ansible2 available \ [ =2.4.2 =2.4.6 =2.8 =stable ] 2 httpd_modules available [ =1.0 =stable ] (略) |
インストールの確認
(実行コマンド)
1 |
nginx -v |
(実行結果)
1 2 |
[ec2-user@ip-×××-××-××-×× ~]$ nginx -v nginx version: nginx/1.20.0 |
Nginxのバージョンが表示されれば、インストールできています
起動&自動起動設定をする
- Nginxを起動
1sudo systemctl start nginx - 起動確認
1sudo systemctl status nginx
→ Active: active (running) と表示されればOK! - インスタンスの起動と一緒にNginxが起動するよう設定
1sudo systemctl enable nginx - 設定の確認
1sudo systemctl is-enabled nginx
(実行結果)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
[ec2-user@ip-×××-××-××-×× ~]$ sudo systemctl start nginx [ec2-user@ip-×××-××-××-×× ~]$ sudo systemctl status nginx ● nginx.service - The nginx HTTP and reverse proxy server Loaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled) Active: active (running) since Sat 2022-10-08 16:13:28 UTC; 9s ago Process: 3331 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 3327 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 3326 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 3333 (nginx) CGroup: /system.slice/nginx.service tq3333 nginx: master process /usr/sbin/nginx mq3334 nginx: worker process Oct 08 16:13:28 ip-×××-××-××-××.ap-northeast-1.compute.internal systemd[1]: Starting The nginx HTTP and reverse proxy server... Oct 08 16:13:28 ip-×××-××-××-××.ap-northeast-1.compute.internal nginx[3327]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok Oct 08 16:13:28 ip-×××-××-××-××.ap-northeast-1.compute.internal nginx[3327]: nginx: configuration file /etc/nginx/nginx.conf test is successful Oct 08 16:13:28 ip-×××-××-××-××.ap-northeast-1.compute.internal systemd[1]: Started The nginx HTTP and reverse proxy server. [ec2-user@ip-×××-××-××-×× ~]$ sudo systemctl enable nginx Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service. [ec2-user@ip-×××-××-××-×× ~]$ sudo systemctl is-enabled nginx enabled |
ブラウザからアクセスしてみる
http://パブリックIP(またはDNS)へブラウザからアクセス
→EC2接続時に使用したパブリックIP(またはDNS)
アクセスできない場合は、
セキュリティグループでポート:80を許可しているか確認してください
参考記事
AWS EC2にNginxをインストールする - Qiita
はじめに環境EC2インスタンス作成済みAmazon Linux 2 AMI (HVM), SSD Volume Type64 ビット (x86)タイプ:t2.microやったことEC2…
【AWS EC2】Amazon Linux2にnginxをインストールする方法 - Qiita
概要AWS EC2(AMI: Amazon Linux 2)にnginxをインストールする環境AWS EC2OS: Amazon Linux 2AMI: amzn2-ami-hvm-2.0…
AWS Amazon Linux 2 にnginxをインストールする - Qiita
概要Amazon Linux2インスタンスにnginxをインストールする方法をまとめる前提若干古いが下記の方法を応用してAmazon Linux2インスタンスを立てたAWS EC2 をMac…
コメント