【メモ】Amazon Linux 2 Arm に nginx をインストールする

   

前置き

当方の環境は、AWS VPCへVPNしており、表記されるIPアドレスは、Private サブネット のIPアドレスとなっています

目的

Gravitonのインスタンスを使うにあたり、nginxのインストールメモを記録する

インストール手順

1.yumでインストールできるか確認する
[root@ip-10-0-101-153 ~]# yum install nginx
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core | 3.7 kB 00:00
No package nginx available.
Error: Nothing to do

nginx is available in Amazon Linux Extra topic "nginx1"

To use, run
# sudo amazon-linux-extras install nginx1

Learn more at
https://aws.amazon.com/amazon-linux-2/faqs/#Amazon_Linux_Extras

2.amazon-linux-extras から、nginxをインストールする
[root@ip-10-0-101-153 ~]# 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
17 metadata files removed
6 sqlite files removed
0 metadata files removed
Loaded plugins: extras_suggestions, langpacks, priorities, update-motd
amzn2-core                                               | 3.7 kB     00:00
amzn2extra-docker                                        | 3.0 kB     00:00
amzn2extra-kernel-5.10                                   | 3.0 kB     00:00
amzn2extra-nginx1                                        | 3.0 kB     00:00
(1/9): amzn2-core/2/aarch64/group_gz                       | 2.5 kB   00:00
(2/9): amzn2-core/2/aarch64/updateinfo                     | 447 kB   00:00
(3/9): amzn2extra-docker/2/aarch64/updateinfo              | 4.7 kB   00:00
(4/9): amzn2extra-kernel-5.10/2/aarch64/updateinfo         |  11 kB   00:00
(5/9): amzn2extra-nginx1/2/aarch64/updateinfo              |   76 B   00:00
(6/9): amzn2extra-docker/2/aarch64/primary_db              |  62 kB   00:00
(7/9): amzn2extra-nginx1/2/aarch64/primary_db              |  41 kB   00:00
(8/9): amzn2extra-kernel-5.10/2/aarch64/primary_db         | 7.3 MB   00:00
(9/9): amzn2-core/2/aarch64/primary_db                     |  43 MB   00:00
Resolving Dependencies
--> Running transaction check
---> Package nginx.aarch64 1:1.20.0-2.amzn2.0.4 will be installed
--> Processing Dependency: nginx-filesystem = 1:1.20.0-2.amzn2.0.4 for package:1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: nginx-filesystem for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_1)(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libssl.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libcrypto.so.1.1(OPENSSL_1_1_0)(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libssl.so.1.1()(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libprofiler.so.0()(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Processing Dependency: libcrypto.so.1.1()(64bit) for package: 1:nginx-1.20.0-2.amzn2.0.4.aarch64
--> Running transaction check
---> Package gperftools-libs.aarch64 0:2.6.1-1.amzn2 will be installed
---> Package nginx-filesystem.noarch 1:1.20.0-2.amzn2.0.4 will be installed
---> Package openssl11-libs.aarch64 1:1.1.1g-12.amzn2.0.5 will be installed
--> Processing Dependency: openssl11-pkcs11 for package: 1:openssl11-libs-1.1.1g-12.amzn2.0.5.aarch64
--> Running transaction check
---> Package openssl11-pkcs11.aarch64 0:0.4.10-6.amzn2.0.1 will be installed
--> Finished Dependency Resolution

Dependencies Resolved

================================================================================
 Package            Arch      Version                 Repository           Size
================================================================================
Installing:
 nginx              aarch64   1:1.20.0-2.amzn2.0.4    amzn2extra-nginx1   591 k
Installing for dependencies:
 gperftools-libs    aarch64   2.6.1-1.amzn2           amzn2-core          266 k
 nginx-filesystem   noarch    1:1.20.0-2.amzn2.0.4    amzn2extra-nginx1    23 k
 openssl11-libs     aarch64   1:1.1.1g-12.amzn2.0.5   amzn2-core          1.4 M
 openssl11-pkcs11   aarch64   0.4.10-6.amzn2.0.1      amzn2-core           63 k

Transaction Summary
================================================================================
Install  1 Package (+4 Dependent packages)

Total download size: 2.3 M
Installed size: 7.0 M
Is this ok [y/d/N]: y
Downloading packages:
(1/5): nginx-filesystem-1.20.0-2.amzn2.0.4.noarch.rpm      |  23 kB   00:00
(2/5): gperftools-libs-2.6.1-1.amzn2.aarch64.rpm           | 266 kB   00:00
(3/5): openssl11-pkcs11-0.4.10-6.amzn2.0.1.aarch64.rpm     |  63 kB   00:00
(4/5): nginx-1.20.0-2.amzn2.0.4.aarch64.rpm                | 591 kB   00:00
(5/5): openssl11-libs-1.1.1g-12.amzn2.0.5.aarch64.rpm      | 1.4 MB   00:00
--------------------------------------------------------------------------------
Total                                              7.7 MB/s | 2.3 MB  00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  Installing : 1:openssl11-libs-1.1.1g-12.amzn2.0.5.aarch64                 1/5
  Installing : openssl11-pkcs11-0.4.10-6.amzn2.0.1.aarch64                  2/5
  Installing : 1:nginx-filesystem-1.20.0-2.amzn2.0.4.noarch                 3/5
  Installing : gperftools-libs-2.6.1-1.amzn2.aarch64                        4/5
  Installing : 1:nginx-1.20.0-2.amzn2.0.4.aarch64                           5/5
  Verifying  : gperftools-libs-2.6.1-1.amzn2.aarch64                        1/5
  Verifying  : 1:nginx-1.20.0-2.amzn2.0.4.aarch64                           2/5
  Verifying  : openssl11-pkcs11-0.4.10-6.amzn2.0.1.aarch64                  3/5
  Verifying  : 1:openssl11-libs-1.1.1g-12.amzn2.0.5.aarch64                 4/5
  Verifying  : 1:nginx-filesystem-1.20.0-2.amzn2.0.4.noarch                 5/5

Installed:
  nginx.aarch64 1:1.20.0-2.amzn2.0.4

Dependency Installed:
  gperftools-libs.aarch64 0:2.6.1-1.amzn2
  nginx-filesystem.noarch 1:1.20.0-2.amzn2.0.4
  openssl11-libs.aarch64 1:1.1.1g-12.amzn2.0.5
  openssl11-pkcs11.aarch64 0:0.4.10-6.amzn2.0.1

Complete!
  0  ansible2                 available    [ =2.4.6  =2.8  =stable ]
  1  httpd_modules            available    [ =1.0  =stable ]
  2  memcached1.5             available    \
        [ =1.5.1  =1.5.16  =1.5.17 ]
  4  postgresql9.6            available    [ =9.6.8  =stable ]
  5  postgresql10             available    [ =10  =stable ]
  7  R3.4                     available    [ =3.4.3  =stable ]
  8  rust1                    available    [ =stable ]
 11  php7.2                   available    \
        [ =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 ]
 13  lamp-mariadb10.2-php7.2  available    \
        [ =10.2.10_7.2.11  =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 ]
 14  libreoffice              available    [ =5.3.6.1  =stable ]
 16  docker=latest            enabled      \
        [ =18.06.1  =18.09.9  =stable ]
 17  mate-desktop1.x          available    [ =stable ]
 18  GraphicsMagick1.3        available    \
        [ =1.3.29  =1.3.32  =1.3.34  =stable ]
 19  tomcat8.5                available    \
        [ =8.5.32  =8.5.38  =8.5.40  =8.5.42  =8.5.50  =stable ]
 20  epel                     available    [ =7.11  =stable ]
 21  testing                  available    [ =1.0  =stable ]
 22  ecs                      available    [ =stable ]
 23  corretto8                available    \
        [ =1.8.0_202  =1.8.0_212  =1.8.0_222  =1.8.0_232  =1.8.0_242
          =stable ]
 24  golang1.11               available    \
        [ =1.11.3  =1.11.11  =1.11.13  =stable ]
 25  squid4                   available    [ =4  =stable ]
 26  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 ]
 27  java-openjdk11           available    [ =11  =stable ]
 28  lynis                    available    [ =stable ]
 29  kernel-ng                available    [ =stable ]
 30  BCC                      available    [ =0.x  =stable ]
 31  nginx1=latest            enabled      [ =stable ]
 32  ruby2.6                  available    [ =2.6  =stable ]
 33  mock                     available    [ =stable ]
 34  postgresql11             available    [ =11  =stable ]
 35  php7.4                   available    [ =stable ]
 36  python3.8                available    [ =stable ]
 37  lustre2.10               available    [ =stable ]
 38  haproxy2                 available    [ =stable ]
 39  collectd                 available    [ =stable ]
 40  R4                       available    [ =stable ]
  _  kernel-5.4               available    [ =stable ]
 42  selinux-ng               available    [ =stable ]
 43  php8.0                   available    [ =stable ]
 44  tomcat9                  available    [ =stable ]
 45  unbound1.13              available    [ =stable ]
 46  mariadb10.5              available    [ =stable ]
 47  kernel-5.10=latest       enabled      [ =stable ]
 48  redis6                   available    [ =stable ]
 49  ruby3.0                  available    [ =stable ]
 50  postgresql12             available    [ =stable ]
 51  postgresql13             available    [ =stable ]
 52  mock2                    available    [ =stable ]
 53  dnsmasq2.85              available    [ =stable ]
3.インストールバージョンを確認する
[root@ip-10-0-101-153 ~]# nginx -v
nginx version: nginx/1.20.0

nginxを起動、自動起動する

[root@ip-10-0-101-153 conf.d]# 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: inactive (dead)
[root@ip-10-0-101-153 conf.d]# systemctl start nginx
[root@ip-10-0-101-153 conf.d]# 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 Wed 2022-02-23 10:11:50 UTC; 2s ago
Process: 3419 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
Process: 3415 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
Process: 3413 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
Main PID: 3422 (nginx)
CGroup: /system.slice/nginx.service
tq3422 nginx: master process /usr/sbin/nginx
tq3423 nginx: worker process
mq3424 nginx: worker process

Feb 23 10:11:50 ip-10-0-101-153.ap-northeast-1.compute.internal systemd[1]: Starting The nginx HTTP ...
Feb 23 10:11:50 ip-10-0-101-153.ap-northeast-1.compute.internal nginx[3415]: nginx: the configuratio...
Feb 23 10:11:50 ip-10-0-101-153.ap-northeast-1.compute.internal nginx[3415]: nginx: configuration fi...
Feb 23 10:11:50 ip-10-0-101-153.ap-northeast-1.compute.internal systemd[1]: Started The nginx HTTP a...
Hint: Some lines were ellipsized, use -l to show in full.
[root@ip-10-0-101-153 conf.d]# systemctl enable nginx
Created symlink from /etc/systemd/system/multi-user.target.wants/nginx.service to /usr/lib/systemd/system/nginx.service.

動作確認

[root@ip-10-0-101-153 conf.d]# curl localhost
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
        <title>Test Page for the Nginx HTTP Server on Amazon Linux</title>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
        <img src="data:image/gif;base64,R0lGODlhAQABAIAAAAAAAP///yH5BAEAAAAALAAAAAABAAEAAAIBRAA7" data-wp-preserve="%3Cstyle%20type%3D%22text%2Fcss%22%3E%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%3C!%5BCDATA%5B*%2F%0A%20%20%20%20%20%20%20%20%20%20%20%20body%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23000%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%200.9em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-family%3A%20sans-serif%2Chelvetica%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Alink%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23c00%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%3Avisited%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23c00%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20a%3Ahover%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23f50%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20h1%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200.6em%202em%200.4em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%23294172%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20normal%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%201.75em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%202px%20solid%20%23000%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20h1%20strong%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%201.5em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20h2%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20background-color%3A%20%233C6EB4%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-size%3A%201.1em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20font-weight%3A%20bold%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20color%3A%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%200%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%200.5em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border-bottom%3A%202px%20solid%20%23294172%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20hr%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20display%3A%20none%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.content%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%201em%205em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.alert%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border%3A%202px%20solid%20%23000%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%0A%20%20%20%20%20%20%20%20%20%20%20%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border%3A%202px%20solid%20%23fff%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20padding%3A%202px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%202px%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20a%3Ahover%20img%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20border%3A%202px%20solid%20%23294172%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20.logos%20%7B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20margin%3A%201em%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20%20text-align%3A%20center%3B%0A%20%20%20%20%20%20%20%20%20%20%20%20%7D%0A%20%20%20%20%20%20%20%20%20%20%20%20%2F*%5D%5D%3E*%2F%0A%20%20%20%20%20%20%20%20%3C%2Fstyle%3E" data-mce-resize="false" data-mce-placeholder="1" class="mce-object" width="20" height="20" alt="&lt;style&gt;" title="&lt;style&gt;" />
    </head>

    <body>
        <h1>Welcome to <strong>nginx</strong> on Amazon Linux!</h1>

        <div class="content">
            <p>This page is used to test the proper operation of the
            <strong>nginx</strong> HTTP server after it has been
            installed. If you can read this page, it means that the
            web server installed at this site is working
            properly.</p>

            <div class="alert">
                <h2>Website Administrator</h2>
                <div class="content">
                    <p>This is the default <tt>index.html</tt> page that
                    is distributed with <strong>nginx</strong> on
                     Amazon Linux.  It is located in
                    <tt>/usr/share/nginx/html</tt>.</p>

                    <p>You should now put your content in a location of
                    your choice and edit the <tt>root</tt> configuration
                    directive in the <strong>nginx</strong>
                    configuration file
                    <tt>/etc/nginx/nginx.conf</tt>.</p>

                </div>
            </div>

            <div class="logos">
                <a href="http://nginx.net/"><img
                    src="nginx-logo.png"
                    alt="[ Powered by nginx ]"
                    width="121" height="32" /></a>
            </div>
        </div>
    </body>
</html>
ブラウザから確認

感想:インストールに時間がかかった

t4g.nanoだったせいか、インストールコマンドを実行してから、開始されるまで数分間要した
理由はさだかではないが、気長に作業したほうが良さそうだ

 

 - AWS, Linux, クラウド