Deploy a Python or PHP web app without a separate reverse proxy or process manager by using Unit as a single-process server.
Configure a running web server live via JSON API without restarting or editing config files on disk.
Run WebAssembly (WASI) server-side workloads sandboxed inside a web server.
Project is archived, security vulnerabilities may go unaddressed, not recommended for new production deployments.
NGINX Unit was a web server designed to run application code directly, without the separate process managers and reverse proxies that most web deployments require. Where a typical server setup involves one program to serve files, another to manage language runtimes like Python or PHP, and a third to route traffic between them, Unit aimed to do all of that in a single piece of software. It supported eight programming languages natively, including Python, PHP, Node.js, and Ruby. Important note: the repository has been archived and the README states that all development has stopped and security vulnerabilities may go unaddressed. The repository can still be cloned and used under its existing license, but no new maintainer has been announced. While active, Unit had a distinctive approach to configuration. Instead of editing text files and restarting a service, administrators configured it by sending JSON data to an API over a Unix socket. That API accepted changes and applied them immediately, without interrupting traffic in progress. The same API could be used to add a new application, adjust a listener, or inspect the current running configuration, all without touching a config file on disk. Installation was available through package managers on Debian, Ubuntu, Fedora, and Red Hat based systems, through Docker images with per-language variants, and through Homebrew on macOS. A command-line tool called unitctl provided a friendlier interface for starting instances, editing configuration interactively, and managing running processes. Unit also supported WebAssembly components using the WASI 0.2 standard, which allows code compiled from languages like Rust or C to run in a sandboxed environment on the server. An OpenAPI specification for the control API was included in the repository for developers building tooling around Unit. The code was made by the NGINX team, the same organization behind the widely used NGINX web server. It was released as open source.
← nginx on gitmyhub — every repo by this author, as a profile.
Verify against the repo before relying on details.