$ /devops

Update Nginx version on AMI Linux

published · 3 minute read · nginx ami linux update
Update Nginx version on AMI Linux

Today I decided to show you how to update Nginx version on AMI Linux

Check current version

$ nginx -v
nginx version: nginx/1.16.1

Update nginx

$ sudo yum update nginx

Then I said oo good that is all, let’s restart nginx and see if it works:

$ sudo service nginx restart

What is the result for me:

$ sudo service nginx status
Redirecting to /bin/systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: failed (Result: exit-code) since Tue 2021-12-07 12:17:05 UTC; 4s ago
  Process: 23112 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=1/FAILURE)
  Process: 23110 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 3121 (code=killed, signal=KILL)
   CGroup: /system.slice/nginx.service
           ├─9155 nginx: worker process is shutting down
           └─9156 nginx: worker process is shutting down

Dec 07 12:17:04 systemd[1]: Unit nginx.service entered failed state.
Dec 07 12:17:04 systemd[1]: nginx.service failed.
Dec 07 12:17:04 systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 07 12:17:05 nginx[23112]: nginx: [emerg] module "/usr/lib64/nginx/modules/ngx_http_image_filter_module.so" version 1016001 instead of 1020001 in ...lter.conf:1
Dec 07 12:17:05 nginx[23112]: nginx: configuration file /etc/nginx/nginx.conf test failed
Dec 07 12:17:05 systemd[1]: nginx.service: control process exited, code=exited status=1
Dec 07 12:17:05 systemd[1]: Failed to start The nginx HTTP and reverse proxy server.
Dec 07 12:17:05 systemd[1]: Unit nginx.service entered failed state.
Dec 07 12:17:05 systemd[1]: nginx.service failed.

And I said ooou this is great :D, let’s fix it:

sudo yum remove nginx-mod*
sudo yum install nginx-module-*

Now let’s try again to restart the nginx

$ sudo service nginx restart

And here is the result, this time all good:

$ sudo service nginx status
Redirecting to /bin/systemctl status nginx.service
● nginx.service - The nginx HTTP and reverse proxy server
   Loaded: loaded (/usr/lib/systemd/system/nginx.service; enabled; vendor preset: disabled)
   Active: active (running) since Tue 2021-12-07 12:22:01 UTC; 5min ago
  Process: 23409 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)
  Process: 23407 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)
  Process: 23405 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)
 Main PID: 23411 (nginx)
   CGroup: /system.slice/nginx.service
           ├─ 9155 nginx: worker process is shutting down
           ├─ 9156 nginx: worker process is shutting down
           ├─23411 nginx: master process /usr/sbin/nginx
           ├─23412 nginx: worker process
           └─23413 nginx: worker process

Dec 07 12:22:01  systemd[1]: Starting The nginx HTTP and reverse proxy server...
Dec 07 12:22:01  nginx[23407]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Dec 07 12:22:01  nginx[23407]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Dec 07 12:22:01  systemd[1]: Started The nginx HTTP and reverse proxy server.

Let’s check the current version of nginx:

$ nginx -v
nginx version: nginx/1.20.1

Update nginx to a specific version

Few hors later, after I release the post, I tried this on another server and surprise the latest version found was 1.20. In this case you can install a specific version for Nginx.

Go to https://centos.pkgs.org/7/nginx-x86_64/nginx-1.20.1-1.el7.ngx.x86_64.rpm.html#download and download the binary. If you want another version search above the package that you need.

wget https://nginx.org/packages/centos/7/x86_64/RPMS/nginx-1.20.1-1.el7.ngx.x86_64.rpm

Now in your folder the file nginx-1.20.1-1.el7.ngx.x86_64.rpm was downloaded, please install it as:

sudo rpm -Uvh nginx-1.20.1-1.el7.ngx.x86_64.rpm
sudo yum update nginx

Check Nginx version and don’t forget to restart nginx service.

Soo all is good! Have a nice day, fellow!


Are you interested by this subject because I’ve written some article on Nginx topic here:

  1. Setup 2way ssl authentication (mutual authentication) with Nginx
  2. How to Setup Nginx with Let’s Encrypt on Ubuntu 20.04
  3. https://whyboobo.com/devops/nginx-configuration-for-node/
  4. How to setup LEMP stack for Wordpress
  5. Install Nginx on Linux with ssl certificate