[AWS]CentOS7 に Nginx をインストールする

centos_nginx_install_top

この記事には広告を含む場合があります。

記事内で紹介する商品を購入することで、当サイトに売り上げの一部が還元されることがあります。

AWS の CentOS に Nginx を導入する

CentOS7 には Apache をインストール機会が多いのですが、Nginx をインストールすることがありました。「yum install」コマンドで簡単にインストールできるだろうと考えていましたが、パッケージがないとのエラーが発生。忘れないように手順を残しておきます。

パッケージなしのエラー画面

[root@hostname]# yum install nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * extras: ftp-srv2.kddilabs.jp
 * updates: ftp-srv2.kddilabs.jp
No package nginx available.
Error: Nothing to do

 

CentOS に Nginx を導入した際の手順

まずは見やすいように情報をまとめて記載します。基本的なインストールの流れとしては、CentOS の yum に nginx リポジトリを追加してインストールする方針です。

手順1:「yum-utils」をインストールします。

sudo yum install yum-utils

 

手順2:手動で「/etc/yum.repos.d/nginx.repo」を作成します。ファイル内に記述する内容は、

[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

の通りです。

 

手順3:nginx パッケージが追加されていることを確認します。

sudo yum-config-manager –enable nginx-mainline | grep nginx

 

手順4:「yum install」コマンドで、nginx をインストールして作業完了になります。

sudo yum instal nginx

 

参考情報:Nginx 公式の Linux 別のインストール手順
http://nginx.org/en/linux_packages.html#RHEL-CentOS

 

CentOS に Nginx を導入した際の履歴と詳細説明

まずは「yum install」コマンドで、「yum-utils」をインストールします。今回の AWS にある CentOS7 では、該当のパッケージは既にインストール済みでした。

[root@hostname]# sudo yum install yum-utils
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * extras: ftp-srv2.kddilabs.jp
 * updates: ftp-srv2.kddilabs.jp
Package yum-utils-1.1.31-50.el7.noarch already installed and latest version
Nothing to do

 

次に yum のパッケージが格納されたパスを確認して、パッケージ内に nginx がないことを確認しています。

[root@hostname]# cd /etc/yum.repos.d/
[root@hostname yum.repos.d]# ls -la
total 44
drwxr-xr-x.  2 root root  187 Nov  5 10:53 .
drwxr-xr-x. 78 root root 8192 Apr  8 10:15 ..
-rw-r--r--.  1 root root 1664 Nov 23 22:16 CentOS-Base.repo
-rw-r--r--.  1 root root 1309 Nov 23 22:16 CentOS-CR.repo
-rw-r--r--.  1 root root  649 Nov 23 22:16 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root  314 Nov 23 22:16 CentOS-fasttrack.repo
-rw-r--r--.  1 root root  630 Nov 23 22:16 CentOS-Media.repo
-rw-r--r--.  1 root root 1331 Nov 23 22:16 CentOS-Sources.repo
-rw-r--r--.  1 root root 5701 Nov 23 22:16 CentOS-Vault.repo
[root@hostname yum.repos.d]# find ./ -type f | xargs grep nginx

 

nginx のパッケージを追加するために、nginx をインストールするための「nginx.repo」ファイルを追加しました。

[root@hostname yum.repos.d]# vi nginx.repo
[root@hostname yum.repos.d]# ls -la
total 48
drwxr-xr-x.  2 root root  205 Apr 22 11:37 .
drwxr-xr-x. 78 root root 8192 Apr  8 10:15 ..
-rw-r--r--.  1 root root 1664 Nov 23 22:16 CentOS-Base.repo
-rw-r--r--.  1 root root 1309 Nov 23 22:16 CentOS-CR.repo
-rw-r--r--.  1 root root  649 Nov 23 22:16 CentOS-Debuginfo.repo
-rw-r--r--.  1 root root  314 Nov 23 22:16 CentOS-fasttrack.repo
-rw-r--r--.  1 root root  630 Nov 23 22:16 CentOS-Media.repo
-rw-r--r--.  1 root root 1331 Nov 23 22:16 CentOS-Sources.repo
-rw-r--r--.  1 root root 5701 Nov 23 22:16 CentOS-Vault.repo
-rw-r--r--.  1 root root  356 Apr 22 11:37 nginx.repo
[root@hostname yum.repos.d]# cat nginx.repo 
[nginx-stable]
name=nginx stable repo
baseurl=http://nginx.org/packages/centos/$releasever/$basearch/
gpgcheck=1
enabled=1
gpgkey=https://nginx.org/keys/nginx_signing.key

[nginx-mainline]
name=nginx mainline repo
baseurl=http://nginx.org/packages/mainline/centos/$releasever/$basearch/
gpgcheck=1
enabled=0
gpgkey=https://nginx.org/keys/nginx_signing.key

 

yum が追加した nginx のリポジトリを認識しているかを確認します。

[root@hostname yum.repos.d]# sudo yum-config-manager --enable nginx-mainline | grep nginx
============================= repo: nginx-mainline =============================
[nginx-mainline]
baseurl = http://nginx.org/packages/mainline/centos/7/x86_64/
cachedir = /var/cache/yum/x86_64/7/nginx-mainline
gpgcadir = /var/lib/yum/repos/x86_64/7/nginx-mainline/gpgcadir
gpgdir = /var/lib/yum/repos/x86_64/7/nginx-mainline/gpgdir
gpgkey = https://nginx.org/keys/nginx_signing.key
hdrdir = /var/cache/yum/x86_64/7/nginx-mainline/headers
name = nginx mainline repo
persistdir = /var/lib/yum/repos/x86_64/7/nginx-mainline
pkgdir = /var/cache/yum/x86_64/7/nginx-mainline/packages
ui_id = nginx-mainline/7/x86_64

 

最後に「yum install」コマンドで nginx をインストールしています。

[root@example yum.repos.d]# sudo yum install nginx
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
 * base: ftp-srv2.kddilabs.jp
 * extras: ftp-srv2.kddilabs.jp
 * updates: ftp-srv2.kddilabs.jp
nginx-mainline                                   | 2.9 kB  00:00:00
nginx-stable                                     | 2.9 kB  00:00:00
(1/2): nginx-stable/7/x86_64/primary_db          |  42 kB  00:00:01
(2/2): nginx-mainline/7/x86_64/primary_db        | 142 kB  00:00:01
Resolving Dependencies

(中略)

----------------------------------------------------------------------
  Verifying  : 1:nginx-1.15.12-1.el7.ngx.x86_64                     1/1 

Installed:
  nginx.x86_64 1:1.15.12-1.el7.ngx

Complete!