Introduction to Nginx Administration


Course Number: SRV-150

Duration: 2 days (13 hours)

Format: Live, hands-on

Nginx Training Overview

Accelebrate's Nginx training teaches how to administer Nginx, a popular, open source web server, reverse proxy server, HTTP cache, and load balancer.

Location and Pricing

Accelebrate offers instructor-led enterprise training for groups of 3 or more online or at your site. Most Accelebrate classes can be flexibly scheduled for your group, including delivery in half-day segments across a week or set of weeks. To receive a customized proposal and price quote for private corporate training on-site or online, please contact us.

Objectives

  • Install and configure Nginx
  • Use the Mail module
  • Use Nginx as a reverse proxy in front of other servers
  • Troubleshoot Nginx

Prerequisites

All attendees should be familiar with general principles of Web server administration.

Outline

Expand All | Collapse All

Intoduction
Installing Nginx and Third-Party Modules
  • Installing Nginx using a package manager
  • Installing Nginx from source
  • Preparing a build environment
  • Compiling from source
  • Configuring for web or mail service
  • Configure options for a mail proxy
  • Configure the options to specify paths
  • Enabling various modules
  • Disabling unused modules
  • Finding and installing third-party modules
  • Putting it all together
A Configuration Guide
  • The basic configuration format
  • Nginx global configuration parameters
  • Using include files
  • The HTTP server section
  • Client directives
  • File I/O directives
  • Hash directives
  • Socket directives
  • Sample configuration
  • The virtual server section
  • Locations – where, when, and how
  • The mail server section
  • Full sample configuration
Using the Mail Module
  • Basic proxy service
  • POP3 service
  • IMAP service
  • SMTP service
  • Using SSL/TLS
  • Complete mail example
  • Authentication service
  • Combining with memcached
  • Interpreting log files
  • Operating system limits
Nginx as a Reverse Proxy
  • Introduction to reverse proxying
  • The proxy module
  • Legacy servers with cookies
  • The upstream module
  • Keepalive connections
  • Load-balancing algorithms
  • Types of upstream servers [focus in this section would be set based on the types of upstream servers you are using]
    • Single upstream server
    • Multiple upstream servers
    • Non-HTTP upstream servers
    • Memcached upstream servers
    • FastCGI upstream servers
    • SCGI upstream servers
    • uWSGI upstream servers
  • Converting an 'if'-fy configuration to a more modern interpretation
  • Using error documents to handle upstream problems
  • Determining the client's real IP address
Reverse Proxy Advanced Topics
  • Security through separation
  • Encrypting traffic with SSL
  • Authenticating clients using SSL
  • Blocking traffic based on originating IP address
  • Isolating application components for scalability
  • Reverse proxy performance tuning
  • Buffering
  • Caching
  • Storing
  • Compressing
The Nginx HTTP Server
  • Nginx's architecture
  • The HTTP core module
  • The server
  • Logging
  • Finding files
  • Name resolution
  • Client interaction
  • Using limits to prevent abuse
  • Restricting access
  • Streaming media files
  • Predefined variables
  • Using Nginx with PHP-FPM
  • An example Drupal configuration
  • Wiring Nginx and uWSGI together
  • An example Django configuration
Nginx for the Developer [selected topics in this section would be covered based on your interests]
  • Caching integration
  • No application caching
  • Caching in the database
  • Caching in the filesystem
  • Changing content on-the-fly
  • The addition module
  • The sub module
  • The xslt module
  • Using Server Side Includes
  • Decision-making in Nginx
  • Creating a secure link
  • Generating images
  • Tracking website visitors
  • Preventing inadvertent code execution
Troubleshooting Techniques
  • Analyzing log files
  • Error log file formats
  • Error log file entry examples
  • Configuring advanced logging
  • Debug logging
  • Switching binaries at runtime
  • Using access logs for debugging
  • Common configuration errors
  • Using if instead of try_files
  • Using if as a hostname switch
  • Not using the server context to best effect
  • Operating system limits
  • File descriptor limits
  • Network limits
  • Performance problems
  • Using the Stub Status module
Conclusion

Training Materials:

All Nginx training students receive comprehensive courseware. 

Software Requirements:

By default, this course is taught using Nginx in a Linux virtual machine (any version of Nginx can be taught). We will provide the virtual machine in advance for installation. Classroom PCs should have:

  • At least 8 GB RAM and 10 GB hard drive space
  • The latest version of VMware Player
  • An unzipped copy of the virtual machine Accelebrate provides

This Linux VM can run on top of Windows, Linux, or macOS.
Although use of the Linux VM is our default, we can teach the class using any operating system that supports Nginx.



Learn faster

Our live, instructor-led lectures are far more effective than pre-recorded classes

Satisfaction guarantee

If your team is not 100% satisfied with your training, we do what's necessary to make it right

Learn online from anywhere

Whether you are at home or in the office, we make learning interactive and engaging

Multiple Payment Options

We accept check, ACH/EFT, major credit cards, and most purchase orders



Recent Training Locations

Alabama

Birmingham

Huntsville

Montgomery

Alaska

Anchorage

Arizona

Phoenix

Tucson

Arkansas

Fayetteville

Little Rock

California

Los Angeles

Oakland

Orange County

Sacramento

San Diego

San Francisco

San Jose

Colorado

Boulder

Colorado Springs

Denver

Connecticut

Hartford

DC

Washington

Florida

Fort Lauderdale

Jacksonville

Miami

Orlando

Tampa

Georgia

Atlanta

Augusta

Savannah

Hawaii

Honolulu

Idaho

Boise

Illinois

Chicago

Indiana

Indianapolis

Iowa

Cedar Rapids

Des Moines

Kansas

Wichita

Kentucky

Lexington

Louisville

Louisiana

New Orleans

Maine

Portland

Maryland

Annapolis

Baltimore

Frederick

Hagerstown

Massachusetts

Boston

Cambridge

Springfield

Michigan

Ann Arbor

Detroit

Grand Rapids

Minnesota

Minneapolis

Saint Paul

Mississippi

Jackson

Missouri

Kansas City

St. Louis

Nebraska

Lincoln

Omaha

Nevada

Las Vegas

Reno

New Jersey

Princeton

New Mexico

Albuquerque

New York

Albany

Buffalo

New York City

White Plains

North Carolina

Charlotte

Durham

Raleigh

Ohio

Akron

Canton

Cincinnati

Cleveland

Columbus

Dayton

Oklahoma

Oklahoma City

Tulsa

Oregon

Portland

Pennsylvania

Philadelphia

Pittsburgh

Rhode Island

Providence

South Carolina

Charleston

Columbia

Greenville

Tennessee

Knoxville

Memphis

Nashville

Texas

Austin

Dallas

El Paso

Houston

San Antonio

Utah

Salt Lake City

Virginia

Alexandria

Arlington

Norfolk

Richmond

Washington

Seattle

Tacoma

West Virginia

Charleston

Wisconsin

Madison

Milwaukee

Alberta

Calgary

Edmonton

British Columbia

Vancouver

Manitoba

Winnipeg

Nova Scotia

Halifax

Ontario

Ottawa

Toronto

Quebec

Montreal

Puerto Rico

San Juan