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.

Why Use NGINX Unit?

  • Evolved Architecture
  • Runs Application Code
  • Fully Dynamic Configuration Experience
  • Simplify Microservices
  • Modernize Monoliths
  • Secure App Runtimes
  • NGINX Unit was created by the original NGINX team on an all-new 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’s architecture is uses both a multi-process and multi-threaded.
  • The NGINX web server is often deployed as a reverse proxy in front of a web applications. NGINX Unit can run the application code natively, so the complete
  • application configuration is together 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.
  • 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.

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.

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

With NGINX Unit you can convert existing monolithic applications to cloud-native, without touching the application code.

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

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 exchanges traffic 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 certificates can be shared across multiple apps, or automatically matched based on the application hostname.

You can run applications in an isolated environment to protect them from the host, and vice versa. 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...

 
NGINX Unit Greets Autumn 2022 with New Features (a Statistics Engine!) and Exciting Plans

Blog

NGINX Unit Greets Autumn 2022 with New Features (a Statistics Engine!) and Exciting Plans

NGINX Unit 1.25.0 through 1.28.0 introduce a statistics engine for observability, more contexts for using variables, enhanced support for X-Forwarded-* headers, and new syntax for the...