While Apache2 HTTP Server is still the king of web servers and still runs the majority of the websites and blogs in use today, Nginx is rapidly gaining traction. and probably the second most popular web server installed, not very far behind Apache2. Some of the many reasons Nginx is rapidly catching up to Apache2 are the ways its manages resources, its speed, simplicity, and can be used as a reverse proxy. It’s pretty good! For more about this release, please read the changelog here. Some of the features introduced are:

Feature: the “random” directive inside the “upstream” block. Feature: improved performance when using the “hash” and “ip_hash” directives with the “zone” directive. Feature: the “reuseport” parameter of the “listen” directive now uses SO_REUSEPORT_LB on FreeBSD 12.

Installing Nginx from its Mainline Repository

All Nginx’s latest features get released in its mainline repository first. after they’re tested and proven, they’re then promoted to a stable repository to use in a production environment. To install the 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 for Ubuntu to trust packages from that repository. After adding the key, run the commands below to install Nginx’s Mainline repository or branch on Ubuntu. When you’re done, all you need to do is run the commands below to install the latest version of Nginx.

Installing Nginx from Its Stable Repository

Another option is to install Nginx from its stable branch or repository. To install Nginx from the stable branch, run the commands below to install Nginx stable repository on Ubuntu. 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.

Managing Nginx Web Server

After you install the 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:   — Start the server:   — Restarts the server: — Reload config changes no stops:  

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. When Nginx is installed on Ubuntu servers, the default document root directory is located at /var/www/html. Just as with the 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 configuration files are stored in /etc/nginx directory. 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 the sites-enabled directory contains all sites that are enabled. By default, sites are not enabled until you run a command 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 it and creates 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 disabled by running the a2dissite commands. Nginx does not have these available. So to enable a site named example.com on Ubuntu for Nginx, just create a symbolic link from the sites-available to the sites-enabled directory. To disable the example.com site, just delete it from the sites-enabled directory. After enabling or disabling a site, restart the Nginx server. To test if Nginx is installed and working, open your browser and browse to the server IP or hostname and you should see the Nginx default page if it was installed properly. You may also like the post below: