NGINX.COM
Web Server Load Balancing with NGINX Plus

Simplify Your Application Stack

NGINX Unit simplifies the application stack for web apps and APIs by combining several layers of the typical stack into a single component. NGINX Unit can:

  • Serve static media assets as a web server
  • Natively run application code in multiple languages
  • Reverse proxy to backend servers
NGINX Unit is a universal web app server – intended as a building block for any web architecture regardless of its complexity, from enterprise-scale deployments to your pet's home page. It is equally suited to simplifying modern microservices environments as it is to modernizing legacy and monolithic applications.

How Does NGINX Unit Compare to NGINX Web Server?

Evolved Architecture

  • NGINX Unit was created by the original NGINX team on an all-new, open source codebase.
  • The architecture incorporates insights from over a decade of running the world’s most popular web server.
  • Unlike the NGINX web server, NGINX Unit uses a multi-process, multi-threaded architecture.

Runs Application Code

  • The NGINX web server is often deployed as a reverse proxy in front of web applications. NGINX Unit can run the application code natively, locating the complete application configuration in one place.
  • NGINX Unit can run web applications and APIs written in Java, PHP, Python, or Ruby without an intermediate process manager or application server.
  • NGINX Unit can serve both the static assets and the dynamic content of a web application.

Fully Dynamic Configuration Experience

  • NGINX Unit is configured entirely with JSON, so there is no new configuration syntax to learn.
  • Changes are applied immediately, without reloads and without interruption to in-flight requests.
  • You can modify a single value or replace the entire configuration through the configuration API.

Why Use NGINX Unit?

Simplify Microservices

Web applications typically need a stack of reverse proxies, web servers, and application servers. NGINX Unit combines all those functions in a single component with a common configuration, allowing you to deliver an entire single-page application or a web API endpoint from the same server.

NGINX Unit provides a lightweight runtime for application code – ideal for building and deploying microservices. With support for multiple programming languages and frameworks, NGINX Unit provides the same development, configuration, and deployment experience for all your microservices.

Efficiently co-locate microservices without losing any of the benefits of independent development, deployment, and application isolation. NGINX Unit delivers all the benefits of microservices in a simpler and more scalable form factor.

Modernize Monoliths

NGINX Unit uses familiar JSON/REST configuration, a container-friendly footprint, and a modern TLS implementation to traditional apps.

With NGINX Unit you can create a cloud-native monolith from existing applications, without touching the application code.

NGINX Unit also facilitates monolith-to-microservices migrations by performing the request routing – moving it closer to the runtime and within the control of the app dev team.

Secure App Runtimes

Delivering end-to-end TLS still often involves decrypted network hops and opportunities for interception. NGINX Unit provides true end-to-end TLS with encryption all the way to the runtime. NGINX Unit handles the TLS layer and communicates directly with the application code over shared memory.

Certificate management is handled by the same JSON/REST configuration API but is decoupled from the application. A single certificate can be shared across multiple apps or automatically matched against the application hostname.

You can run applications in an isolated environment to protect them and the host from each other. NGINX Unit uses Linux namespaces, cgroups, and filesystem isolation to provide a secure runtime for each application.

Technical Specifications

Supported App Languages

  • Binary-compiled languages in general
  • Go
  • JavaScript (Node.js)
  • Java
  • Perl
  • PHP
  • Python
  • Ruby
woman typing at desk computer

Visit NGINX Unit For Full Technical Specifications

NGINX Unit is written in pure C for maximum performance and portability across a wide range of Linux/Unix platforms. Official packages are provided for popular platforms and operating systems.

Installation Guide

Documentation

GitHub

Learn More about NGINX Unit

Running Spring Boot Applications in a Zero Trust Environment with NGINX Unit

Blog

Running Spring Boot Applications in a Zero Trust Environment with NGINX Unit

NGINX Unit makes supporting HTTPS simple and completely application-agnostic, because encryption is applied at the level of the listener, not the application. No need to dig into...

 
Building Application Stacks With NGINX Unit

Blog

Building Application Stacks With NGINX Unit

We show how to build an application stack with NGINX Unit, enabling automated deployment of production environments with custom‑built language runtime versions, libraries, modules, and...

 
Updates to NGINX Unit for Summer 2021

Blog

Updates to NGINX Unit for Summer 2021

NGINX Unit 1.23.0 and 1.24.0 introduce support for the SNI extension to TLS, definition of OpenSSL configuration commands, MIME filtering and path restrictions for static content, and...