NGINX Unit, Three Months In: Progress and Next Steps - NGINX


Three months ago, we released the first beta version of NGINX Unit, a new dynamic web and application server. See our initial description of Unit, the announcement blog post, the in-depth demo, and our Unit webinar.

The announcement of Unit became the top story on Hacker News. The code continues to receive attention on GitHub, and Unit’s features and architecture spawned numerous discussion threads on Facebook, Twitter, and other networks. We invite you to download Unit packages or compile it yourself, to try it, and to join the discussion.

To share our progress since the initial beta release, in this blog post, I’ll summarize the last three months of engineering work, then describe our plans for future features and for production readiness.

Unit running multiple application languages and versions


We at NGINX have known for many years how to connect to applications. Now, with Unit, we help you run them. Modern applications change frequently, and they consist of multiple parts. Various services that comprise a distributed application are written in different languages by separate teams. All parts of this mess have to work together for the benefit of end users.

Unit is designed with some key points about modern applications in mind:

Architectural Approach

Initial Unit plans from the Unit launch blog post

Unit is new software, built from scratch. We didn’t reuse any major part of the existing architecture of NGINX while designing and developing Unit.

In Unit, we decided not to have configuration code compatibility with NGINX for the following reasons:

However, although they’re distinct, Unit and NGINX are parts of the NGINX Application Platform, and you can use them together, playing different roles within your application environment.

Unit Source Code

Unit is free. The source code is available at and It’s available under the Apache 2.0 license. You can compile Unit yourself on most popular Linux and Unix systems.

The code repository gives you the most recent view on the progress of the software and provides you with the latest features and updates. However, expect frequent changes if you choose to use the latest source for your project. In addition to the raw code, we regularly make versioned packages for most popular operating systems.

Here’s a quick overview of the last three months of development.

Three-Month Development Recap

Unit 0.1

The initial beta version of Unit was released on September 7, 2017, at our annual event, nginx.conf 2017. With version 0.1, you can:

Unit 0.1 was intended for initial experimentation, and the most active members of our community took advantage of that. We send thanks to everyone who tried Unit early on and posted questions, bug reports, feature requests, and code modifications in the GitHub repository.

Our initial users tried running Unit with various applications and frameworks, including WordPress, Django, and Grafana, and using PHP 5 and PHP 7, Python 2 and Python 3, and Go. Unit enabled them to take existing legacy apps, start them, and configure them in real time.

Watch the in‑depth demo of Unit 0.1, featuring system configuration, startup, application loading, and real‑time reconfiguration.

Unit 0.2

Unit 0.2 was released on October 20, 2017. This second beta version added a number of new features and bug fixes:

Watch the on‑demand webinar about Unit 0.2.

Unit 0.3

The Unit 0.3 beta is scheduled for release in the middle of December. The major changes and new features will include:


We want you to know our plans. It’s an open project, and we share our roadmaps early. Here’s what’s coming in the upcoming release, scheduled to appear in the beginning of 2018:

In the second quarter of 2018 we will fork the Unit code into two branches:

We’ll release new packages from the fresh branch every few weeks. These packages will be available for the most popular operating systems, and all installation instructions will be posted at

This versioning system will allow us to focus on the development of new functionality while maintaining high‑quality code in both branches. This is similar to the versioning used for the open source NGINX software.

Later in 2018, we will continue development in the following areas:

Join the development effort on GitHub, contribute to the documentation, and send us feedback about your experiences.

If you wish to make Unit a part of your career and your full‑time job, join our team: NGINX is hiring C/Unix developers. Check out this page for details:

Retrieved by Nick Shadrin from website.