NGINX Core - Installing

This course provides an overview of NGINX, it's primary use cases and key features.

Intended Audience
This course is intended for people who need to be familiar with NGINX use cases and the high-level capabilities it brings to its end users.

Course Overview
We start by exploring the origins of NGINX in the "Getting Started Module". 
Next, we learn how to go about installing NGINX on various operating systems and with different options.  
In Module 2, 3, and 4 we explain the basics of the configuration language of NGINX  - and how to set up NGINX as a Web server.  

In order to get the most out of the course, you need to have a general understanding of Web servers and how they work.  To work with NGINX Plus on the command line, you need to be familiar with Linux and how to move between directories on the command line. You also need to be able to edit files with a command-line editor such as nano, vi or vim. Our labs use the vim editor. You need to understand the basics of HTTP and TCP/IP, and you should also have a basic knowledge of networking.

Learning Objectives
After completing this course you will be able to: 

  • Describe the most common use cases of NGINX
  • Describe the differences between NGINX F/OSS and NGINX Plus
  • Execute basic NGINX commands
  • Locate your NGINX configuration file(s)
  • Describe the role of contexts, blocks, and directives in your configuration file(s).
  • Identify the server block that will respond to a request
  • Identify the location block that responds to requests, identify location processing rules, and configure a simple web server that serves static pages and images.






- [Instructor] Welcome to module one of the NGINX Core course. This module covers NGINX installation. This module shows you the steps to install NGINX Plus. We also take a tour of NGINX's dynamic modules and show how to install one. In order to install NGINX Plus, you need a virtual machine on one of the cloud environments listed here or on a locally installed virtual machine with a Linux operating system. The first step when installing on either CentOS or RHEL is to create a subdirectory called nginx in the SSL directory. Next, download and install the NGINX Plus license certificate and key files through the NGINX Plus customer portal. After installing the NGINX Plus license keys. We then need to install the requisite certificate authorities from the ca-certificates files. This file contains the certificate authorities shipped with Mozilla's browser to allow SSL-based applications to validate the authenticity of incoming SSL connections. After configuring incoming SSL connections from known certificate authorities, we can then download the NGINX Plus repo file and enable it with our yum.repos.d directory. This is an important step because without it, the yum package manager may download an old software version from an outdated yum repository rather than the official NGINX repository. Finally we use the yum package manager to install the latest version of NGINX Plus. The first step when installing on either Debian or Ubuntu, is to create a subdirectory called nginx in the SSL directory and install the NGINX Pus license certificate and key files. To obtain the NGINX Plus license keys, navigate to your NGINX Plus customer portal download link. 

Once you've downloaded the files, copy them to your NGINX directory in /etc/ssl/nginx. Next, we need to update the NGINX signing key in order to authenticate the GPG key for downloading package resources from Then we need to update our app utilities as well as edit our distribution source file so that we pull the correct package components for the relevant version of Linux. Here in this slide, we have an example of how to update the source files for Debian and Ubuntu. Download the apt configuration file and install in it in the apt configuration directory, apt.conf.d. This file instructs the package manager to send various header information when requesting package components including a few headers that validate the location of your NGINX Plus license keys. Finally, update the Linux kernel using apt-get update which should take care of any missing dependencies. Then install NGINX Plus. Additional features may be added to NGINX Plus by installing dynamic modules. Dynamic modules may be added while NGINX Plus is running without a restart because they are already compiled. NGINX and third parties have developed dynamic modules. NGINX-developed modules are available from our website. These dynamic modules have been tested, are supported and are guaranteed to run on all versions of NGINX Plus. 

Certified modules developed by third parties are also tested and are guaranteed to load into NGINX Plus but their code is supported by the company that develops them. Community modules have been developed by NGINX developer communities and are supported by the developers who have developed them. Anyone can develop a custom module, compile it, and set it up to be a dynamically loaded NGINX Plus module. Some examples of third-party dynamic modules are identity access management, device intelligence for resizing images, and embedding lower scripting to allow complex server-side routing as security operations. Follow the link here to see a full listing of certified NGINX Plus modules. For modules created by third parties, please follow each vendor's instructions to install a dynamic module. For NGINX Plus modules, download the module, add it to the nginx.conf file through the load_module directive, check the syntax of the new configuration file and reload NGINX. Example commands to illustrate this follow on the next slide. Note that some dynamic modules may not be available on various operating systems. The supported versions for a module are listed on the dynamic modules web page. In the main top level context in /etc/nginx/nginx.conf, add a load_module directive for each dynamically loaded module. As shown, the conventional directory for modules is /etc/nginx/modules. Check the new configuration for syntactic validity and reload NGINX Plus. The modules listed in load_modules directives in nginx.conf are dynamically loaded into NGINX Plus. Before installing NGINX Plus, be sure to note any prerequisites and install those too. Follow the NGINX documentation for individual operating system versions as these are unique. Install any additional features required from the NGINX dynamic modules provided on our website. Thank you for completing this module on NGINX installation and dynamic modules.

About the Author
Learning Paths

Andrew is fanatical about helping business teams gain the maximum ROI possible from adopting, using, and optimizing Public Cloud Services. Having built  70+ Cloud Academy courses, Andrew has helped over 50,000 students master cloud computing by sharing the skills and experiences he gained during 20+  years leading digital teams in code and consulting. Before joining Cloud Academy, Andrew worked for AWS and for AWS technology partners Ooyala and Adobe.

Covered Topics