Update Nginx version on AMI Linux


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

Newsletter


Related Posts

How to launch a 6 figures startup with 0$ investment

Are you curious how to launch a startup in the fast and effective way? Here's not the answer, but you can understand how to achieve it

Resources to generate free legal pages for your website

Are you looking for resources to generate free legal pages for your website

Netopiajs library for nodejs

Unofficial library of Netopia to integrate with Nodejs

Where to find free assets and images list

Find a multitude of places with free assets and images for your project

Convert bson file to json with javascript

How to convert bson file to json with javascript with a simple script file

Managerflota idea validation

Managerflota idea validation thread. Manage the car hailing business in one web app.

Generate hexagons in JS based on center coordinates and radius

How to generate hexagons in javascript based on the center point coordinates and radius length

How to generate referral codes in javascript

How to generate referral codes in javascript very fast with less code

Loop over directories in bash and execute commands

How to loop over directories in bash and execute multiple commands

Get your Jenkins Passwords from secrets

How to get your Jenkins passwords from your secrets credentials. Follow this simple tutoriale and find your password or ssh private key.