Tuesday, April 12, 2022

[SOLVED] How to install nginx 1.9.15 on amazon linux disto

Issue

I try to install the latest version of nginx (>= 1.9.5) on a fresh amazon linux to make use of http2. I followed the instructions that are described here -> href="http://nginx.org/en/linux_packages.html" rel="noreferrer">http://nginx.org/en/linux_packages.html

I created a repo file /etc/yum.repos.d/nginx.repowith this content:

[nginx]
name=nginx repo
baseurl=http://nginx.org/packages/mainline/centos/7/$basearch/
gpgcheck=0
enabled=1

If I run yum update and yum install nginx I get this:

nginx x86_64 1:1.8.1-1.26.amzn1 amzn-main 557 k

It seems that it fetches still from the amzn-main repo. How do I install a newer version of nginx?

-- edit -- I added "priority=10" to the nginx.repo file and now I can install 1.9.15 with yum install nginx with this result:

Loaded plugins: priorities, update-motd, upgrade-helper
Resolving Dependencies
--> Running transaction check
---> Package nginx.x86_64 1:1.9.15-1.el7.ngx will be installed
--> Processing Dependency: systemd for package: 1:nginx-1.9.15-1.el7.ngx.x86_64
--> Processing Dependency: libpcre.so.1()(64bit) for package: 1:nginx-1.9.15-1.el7.ngx.x86_64
--> Finished Dependency Resolution
Error: Package: 1:nginx-1.9.15-1.el7.ngx.x86_64 (nginx)
           Requires: libpcre.so.1()(64bit)
Error: Package: 1:nginx-1.9.15-1.el7.ngx.x86_64 (nginx)
           Requires: systemd
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

Solution

If you're using AWS Linux2, you have to install nginx from the AWS "Extras Repository". To see a list of the packages available:

# View list of packages to install
amazon-linux-extras list

You'll see a list similar to:

0  ansible2   disabled  [ =2.4.2 ]
1  emacs   disabled  [ =25.3 ]
2  memcached1.5   disabled  [ =1.5.1 ]
3  nginx1.12   disabled  [ =1.12.2 ]
4  postgresql9.6   disabled  [ =9.6.6 ]
5  python3   disabled  [ =3.6.2 ]
6  redis4.0   disabled  [ =4.0.5 ]
7  R3.4   disabled  [ =3.4.3 ]
8  rust1   disabled  [ =1.22.1 ]
9  vim   disabled  [ =8.0 ]
10  golang1.9   disabled  [ =1.9.2 ]
11  ruby2.4   disabled  [ =2.4.2 ]
12  nano   disabled  [ =2.9.1 ]
13  php7.2   disabled  [ =7.2.0 ]
14  lamp-mariadb10.2-php7.2   disabled  [ =10.2.10_7.2.0 ]

Use the amazon-linux-extras install command to install it, like:

sudo amazon-linux-extras install nginx1.12

More details are here: https://aws.amazon.com/amazon-linux-2/faqs/.



Answered By - Dan Sterrett
Answer Checked By - Terry (WPSolving Volunteer)