Nginx 1.17.0 Released — Here’s How to Install on Ubuntu 16.04 | 18.04 LTS

Nginx, a powerful and lightweight HTTP server has recently been updated to mainline version 1.17.0… Nginx mainline branch is an active development branch where the latest features and bug fixes get added…

This release brings some bug fixes and new features that users may want to test out, including support for variables in bandwidth‑limiting configurations with the limit_rate directive, development started for support for QUIC and HTTP/3 and more..

For students and new users who want to upgrade to this release, the steps below should be a great place to start…

For more about this release, please read the changelog here..

Below is a list of bug fixes and new features introduced with this release….

  • Feature:   variables support in the “limit_rate” and “limit_rate_after”
    directives.
  • Feature:   variables support in the “proxy_upload_rate” and
    “proxy_download_rate” directives in the stream module.
  • Change:  minimum supported OpenSSL version is 0.9.8.
  • Change:   now the postpone filter is always built.
  • Bugfix:   the “include” directive did not work inside the “if” and
    “limit_except” blocks.
  • Bugfix:   in byte ranges processing.

Option 1: Installing Nginx from its Mainline Repository

All Nginx’s latest features get released in its mainline repository first… Nginx mainline branch is an active development branch where the latest features and bug fixes get added…

To install Nginx web server from its Mainline repository, run the commands to add Nginx’s repository key to Ubuntu. You’ll need to install the key in order for Ubuntu to trust packages from that repository.

cd /tmp/ && wget http://nginx.org/keys/nginx_signing.key

After adding the key, run the commands below to install Nginx’s Mainline repository or branch on Ubuntu.

sudo sh -c "echo 'deb http://nginx.org/packages/mainline/ubuntu/ '$(lsb_release -cs)' nginx' > /etc/apt/sources.list.d/Nginx.list"

When you’re done, all you need to so is run the commands below to install the latest version of Nginx.

sudo apt-get update
sudo apt-get install nginx

Option 2: Installing Nginx From Its Stable Repository

Another option is to install Nginx from its stable branch or repository… The stable branch receives fixes for high‑severity bugs, but is not updated with new features. It is denoted by an even number in the second part of the version number…

To install Nginx from the stable branch, run the commands below to install Nginx stable repository on Ubuntu.

sudo sh -c "echo 'deb http://nginx.org/packages/stable/ubuntu/ '$(lsb_release -cs)' nginx' > /etc/apt/sources.list.d/Nginx.list"

This assumes you have already added Nginx’s repository key to Ubuntu by running the first commands above.

After adding the repository key, run the commands below to install Nginx.

sudo apt-get update
sudo apt-get install nginx

Managing Nginx Web Server

After you install Nginx server, it might be better to learn some of the basic commands used to manage it. The lines below show you how to stop, start, restart and reload Nginx

— Stops the server:  sudo systemctl stop nginx.service

— Start the server:  sudo systemctl start nginx.service

— Restarts the server: sudo systemctl restart nginx.service

— Reload config changes no stops:  sudo systemctl reload nginx.service

Configure Nginx Server

Nginx.conf is the main configuration file. It puts the pieces together by including all remaining configuration files when starting up the web server.

The configuration file is stored at /etc/nginx/nginx.conf

When Nginx is installed on Ubuntu servers, the default document root directory is located at /var/www/html. Just as with Apache2 server on Ubuntu.

Any file you place in the root directory ending in .html and properly formatted with HTML syntax will be served to web clients from that directory…. This is the default location the server looks to server documents saved in .html/.htm

The majority of Nginx configurations files are stored in /etc/nginx directory. In this directory is where you’ll find the server configuration setting files, root directory controls and many of the different configuration settings files to control the server.

Two important locations you’ll spend most of your time are /etc/nginx/sites-available and /etc/nginx/sites-enabled

The sites-available directory contains all the available sites. This is the location you create new site configuration files, and sites-enabled directory contains all sites that are enabled. By default, sites are not enabled until you run a commands to enable them.

The first default site configuration file is /etc/nginx/sites-available/default

This file contains the basic Nginx test settings configurations. You can keep the default site config and continue to use it or copy the it create a new site config file from it…  Make sure to enable the new site though.

Enabling and Disabling Nginx Sites

After creating Nginx sites on Ubuntu something to remember is to always enable the sites…. With Apache2, we showed you how to do that….. Sites can be enabled by running the a2ensite and disable by running the a2dissite commands.

Nginx does not have these available. So to enable a site named example.com on Ubuntu for Nginx HTTP server, just create a symbolic link from the sites-available to the sites-enabled directory.

sudo ln -s /etc/nginx/sites-available/example.com /etc/nginx/sites-enabled/example.com

To disable the example.com site, just delete it from the sites-enabled directory.

sudo rm /etc/nginx/sites-enabled/example.com

After enabling or disabling a site, restart Nginx server.

sudo systemctl restart nginx.service

To test if Nginx is installed and working, open your browser and browse to the server IP or hostname and you should see Nginx default page if it was installed properly.

Nginx Ubuntu install

You may also like the post below:

Install Teams for Linux Desktop App on Ubuntu 16.04 / 17.10 / 18.04

One Reply to “Nginx 1.17.0 Released — Here’s How to Install on Ubuntu 16.04 | 18.04 LTS”

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.