NGINX Full Version

NGINX Unit 未来三个月的进展与计划

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

The announcement of NGINX Unit became the top story on Hacker News. The code continues to receive attention on GitHub, and NGINX Unit’s features and architecture spawned numerous discussion threads on Facebook, Twitter, and other networks. We invite you to download NGINX 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.

NGINX Unit running multiple application languages and versions

Vision

We at NGINX have known for many years how to connect to applications. Now, with NGINX 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.

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

Architectural Approach

NGINX Unit architectural plans presented at nginx.conf 2017

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

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

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

NGINX Unit Source Code

NGINX Unit is free. The source code is available at http://hg.nginx.org/unit and https://github.com/nginx/unit. It’s available under the Apache 2.0 license. You can compile NGINX 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

NGINX Unit 0.1

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

NGINX 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 NGINX Unit early on and posted questions, bug reports, feature requests, and code modifications in the GitHub repository.

Our initial users tried running NGINX 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. NGINX Unit enabled them to take existing legacy apps, start them, and configure them in real time.

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

NGINX Unit 0.2

NGINX 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 NGINX Unit 0.2.

NGINX Unit 0.3

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

Roadmap

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 NGINX 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 unit.nginx.org.

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 NGINX Open Source.

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 NGINX 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: https://www.nginx.com/jobs/