NGINX Unit
v. 1.21.0

About§

NGINX Unit is a polyglot app server, a reverse proxy, and a static file server, available for Unix-like systems. It was built by nginx team members from scratch to be highly efficient and fully configurable at runtime.

The latest version is 1.21.0, released on November 19, 2020.
See the changelog here; a GitHub-based roadmap outlines our further plans.
The sources are distributed under the Apache 2.0 license.
Commercial support is available from NGINX, Inc.

Key Features§

Flexibility§

Performance§

  • Requests are asynchronously processed in threads with efficient event loops (epoll/kqueue)
  • Syscalls and data copy operations are kept to a necessary minimum
  • 10,000 inactive HTTP keep-alive connections take up only a few MBs of memory
  • Router and app processes rely on low-latency IPC built with lock-free queues over shared memory
  • The number of per-app processes is defined statically or scales preemptively within given limits
  • Multithreaded request processing can be enabled for Java, Perl, Python, and Ruby apps

Security & Robustness§

  • Client connections are handled by a separate non-privileged router process
  • Low-resource conditions (out of memory or descriptors) and app crashes are handled gracefully
  • SSL/TLS is supported seamlessly (OpenSSL 1.0.1 and later)
  • Different apps are isolated in separate processes
  • Apps can be containerized with namespace and file system isolation

Supported App Languages§

Demo§