概要
- Amazon Linux2インスタンスにnginxをインストールする方法をまとめる
前提
- 若干古いが下記の方法を応用してAmazon Linux2インスタンスを立てた
- コマンドは特筆しない限り前のコマンドと同じディレクトリで実行しているものとする
方法
-
インスタンス起動後ssh接続し、そのままのディレクトリで下記コマンドを実行してyumを最新状態にする。
$ sudo yum update
-
下記コマンドを実行してAmazon Linux Extrasが入っているか確認する。(エラーがでなければ入っている)
$ which amazon-linux-extras
-
入っていなかった場合、下記を実行して導入する。
$ sudo yum install amazon-linux-extras
-
下記を実行してnginxのパッケージが含まれている事を確認する。
$ amazon-linux-extras | grep "nginx" > 38 nginx1 available [ =stable ]
-
下記コマンドを実行してnginxを導入するのに必要なコマンドを出力する。
$ sudo amazon-linux-extras enable nginx1
-
下記のように出力される。
[ec2-user@ip-10-0-0-106 ~]$ sudo amazon-linux-extras enable nginx1 0 ansible2 available \ [ =2.4.2 =2.4.6 =2.8 =stable ] 2 httpd_modules available [ =1.0 =stable ] 3 memcached1.5 available \ [ =1.5.1 =1.5.16 =1.5.17 ] 5 postgresql9.6 available \ [ =9.6.6 =9.6.8 =stable ] 6 postgresql10 available [ =10 =stable ] 9 R3.4 available [ =3.4.3 =stable ] 10 rust1 available \ [ =1.22.1 =1.26.0 =1.26.1 =1.27.2 =1.31.0 =1.38.0 =stable ] 11 vim available [ =8.0 =stable ] 15 php7.2 available \ [ =7.2.0 =7.2.4 =7.2.5 =7.2.8 =7.2.11 =7.2.13 =7.2.14 =7.2.16 =7.2.17 =7.2.19 =7.2.21 =7.2.22 =7.2.23 =7.2.24 =7.2.26 =stable ] 17 lamp-mariadb10.2-php7.2 available \ [ =10.2.10_7.2.0 =10.2.10_7.2.4 =10.2.10_7.2.5 =10.2.10_7.2.8 =10.2.10_7.2.11 =10.2.10_7.2.13 =10.2.10_7.2.14 =10.2.10_7.2.16 =10.2.10_7.2.17 =10.2.10_7.2.19 =10.2.10_7.2.22 =10.2.10_7.2.23 =10.2.10_7.2.24 =stable ] 18 libreoffice available \ [ =5.0.6.2_15 =5.3.6.1 =stable ] 19 gimp available [ =2.8.22 ] 20 docker=latest enabled \ [ =17.12.1 =18.03.1 =18.06.1 =18.09.9 =stable ] 21 mate-desktop1.x available \ [ =1.19.0 =1.20.0 =stable ] 22 GraphicsMagick1.3 available \ [ =1.3.29 =1.3.32 =1.3.34 =stable ] 23 tomcat8.5 available \ [ =8.5.31 =8.5.32 =8.5.38 =8.5.40 =8.5.42 =8.5.50 =stable ] 24 epel available [ =7.11 =stable ] 25 testing available [ =1.0 =stable ] 26 ecs available [ =stable ] 27 corretto8 available \ [ =1.8.0_192 =1.8.0_202 =1.8.0_212 =1.8.0_222 =1.8.0_232 =1.8.0_242 =stable ] 28 firecracker available [ =0.11 =stable ] 29 golang1.11 available \ [ =1.11.3 =1.11.11 =1.11.13 =stable ] 30 squid4 available [ =4 =stable ] 31 php7.3 available \ [ =7.3.2 =7.3.3 =7.3.4 =7.3.6 =7.3.8 =7.3.9 =7.3.10 =7.3.11 =7.3.13 =stable ] 32 lustre2.10 available \ [ =2.10.5 =2.10.8 =stable ] 33 java-openjdk11 available [ =11 =stable ] 34 lynis available [ =stable ] 35 kernel-ng available [ =stable ] 36 BCC available [ =0.x =stable ] 37 mono available [ =5.x =stable ] 38 nginx1=latest enabled [ =stable ] 39 ruby2.6 available [ =2.6 =stable ] 40 mock available [ =stable ] 41 postgresql11 available [ =11 =stable ] 42 php7.4 available [ =stable ] 43 livepatch available [ =stable ] 44 python3.8 available [ =stable ] 45 haproxy2 available [ =stable ] 46 collectd available [ =stable ] 47 aws-nitro-enclaves-cli available [ =stable ] 48 R4 available [ =stable ] _ kernel-5.4 available [ =stable ] 50 selinux-ng available [ =stable ] 51 php8.0 available [ =stable ] 52 tomcat9 available [ =stable ] 53 unbound1.13 available [ =stable ] 54 mariadb10.5 available [ =stable ] 55 kernel-5.10=latest enabled [ =stable ] 56 redis6 available [ =stable ] 57 ruby3.0 available [ =stable ] 58 postgresql12 available [ =stable ] 59 postgresql13 available [ =stable ] 60 mock2 available [ =stable ] 61 dnsmasq2.85 available [ =stable ] Now you can install: # yum clean metadata # yum install nginx
-
下記の部分がインストールに必要なコマンドなので実行する。(必要に応じて頭にsudoをつけたりする必要がある。)
Now you can install: # yum clean metadata # yum install nginx
-
筆者は下記コマンドを実行する。
$ sudo yum clean metadata $ sudo yum install nginx
-
下記のようにインストール可否を問われたのでyを入力してEnterを押下する。
======================================================================================================================================================= Package アーキテクチャー バージョン リポジトリー 容量 ======================================================================================================================================================= インストール中: nginx x86_64 1:1.20.0-2.amzn2.0.4 amzn2extra-nginx1 579 k 依存性関連でのインストールをします: gperftools-libs x86_64 2.6.1-1.amzn2 amzn2-core 274 k nginx-filesystem noarch 1:1.20.0-2.amzn2.0.4 amzn2extra-nginx1 23 k openssl11-libs x86_64 1:1.1.1g-12.amzn2.0.4 amzn2-core 1.4 M openssl11-pkcs11 x86_64 0.4.10-6.amzn2.0.1 amzn2-core 61 k トランザクションの要約 ======================================================================================================================================================= インストール 1 パッケージ (+4 個の依存関係のパッケージ) 総ダウンロード容量: 2.3 M インストール容量: 6.6 M Is this ok [y/d/N]: y
-
インストール後、下記コマンドを実行してインストールされたものを確認する。
$ yum list installed | grep nginx nginx.x86_64 1:1.20.0-2.amzn2.0.4 @amzn2extra-nginx1 nginx-filesystem.noarch 1:1.20.0-2.amzn2.0.4 @amzn2extra-nginx1
-
下記コマンドを実行してnginxを起動する。
$ sudo systemctl start nginx
-
下記コマンドを実行して問題なくnginxが起動している事を確認する。
$ 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 月 2022-02-21 13:44:03 UTC; 6s ago Process: 3642 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS) Process: 3637 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS) Process: 3636 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS) Main PID: 3644 (nginx) CGroup: /system.slice/nginx.service ├─3644 nginx: master process /usr/sbin/nginx └─3645 nginx: worker process 2月 21 13:44:03 ip-10-0-0-106.ap-northeast-1.compute.internal systemd[1]: Starting The nginx HTTP and reverse proxy server... 2月 21 13:44:03 ip-10-0-0-106.ap-northeast-1.compute.internal nginx[3637]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok 2月 21 13:44:03 ip-10-0-0-106.ap-northeast-1.compute.internal nginx[3637]: nginx: configuration file /etc/nginx/nginx.conf test is successful 2月 21 13:44:03 ip-10-0-0-106.ap-northeast-1.compute.internal systemd[1]: Started The nginx HTTP and reverse proxy server.
-
次回当該のAmazon Linux2 インスタンスが起動したときに自動でnginxが起動するように下記コマンドを実行する。
$ sudo systemctl enable nginx
-
ブラウザからAWSにログイン → EC2 → 当該のインスタンスの詳細と進み、パブリックIPv4アドレスをコピーする。
-
http://コピーしたIPv4アドレス
を任意のブラウザで入力して下記の画面が表示されればインストールと起動が成功している。