2017/2/15現在、AmazonLinux(2016.09)で sudo yum install nginx
とやると バージョン1.10.1がインストールされます。
1.8が入れたかったのでその際の作業メモです。
nginxのリポジトリを追加
※公式ドキュメントに書いてあるけど、一応説明。
http://nginx.org/packages/
上記から自分の環境にあったものを追加する。
AmazonLinuxはCentOS6互換なので、baseurlは http://nginx.org/packages/centos/6/$basearch/ が正解。
[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/centos/6/$basearch/
gpgcheck=0
enabled=1
失敗
これで sudo yum install nginx-1.8.1
とやれば終了〜とはならない。
amzn-mainリポジトリにnginxが存在しており、amzn-mainリポジトリには以下のようにpriorityが設定してある。
[amzn-main]
name=amzn-main-Base
mirrorlist=http://repo.$awsregion.$awsdomain/$releasever/main/mirror.list
mirrorlist_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=1
retries=5
timeout=10
report_instanceid=yes
[amzn-main-debuginfo]
name=amzn-main-debuginfo
mirrorlist=http://repo.$awsregion.$awsdomain/$releasever/main/debuginfo/mirror.list
mirrorlist_expire=300
metadata_expire=300
priority=10
failovermethod=priority
fastestmirror_enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-amazon-ga
enabled=0
retries=5
timeout=10
report_instanceid=yes
nginxリポジトリにはpriorityを設定していないので、amzn-mainリポジトリ > nginxリポジトリ となり、
amzn-mainリポジトリでnginxが見つかるのでnginxリポジトリを見に行かない→1.10.1がインストールされる。
なので、以下のようにamzn-mainを一時的に無効化しておく。
インストールできるバージョンの確認
yum --showduplicates --disablerepo=amzn-main list nginx
nginx.x86_64 1.8.0-1.el6.ngx nginx
nginx.x86_64 1.8.1-1.el6.ngx nginx
nginx.x86_64 1.10.0-1.el6.ngx nginx
nginx.x86_64 1.10.1-1.el6.ngx nginx
nginx.x86_64 1.10.2-1.el6.ngx nginx
nginx.x86_64 1.10.3-1.el6.ngx nginx
インストール
sudo yum install -y --disablerepo=amzn-main nginx-1.8.1
バージョン確認
nginx -v
nginx version: nginx/1.8.1
参考情報
CentOSにちょっと古いバージョンのNginxをインストールする
Amazon Linux で Nginx & PHP の最新版をインストールした際の記録