Dive deep into two Linux features that underlie containers: namespaces and cgroups. They enable process isolation, ensuring that multiple processes running on a system don't interfere with one another. Our NGINX Unit application server also uses them for application isolation.
Since our last update, the NGINX Unit team has released three versions, 1.19.0 through 1.21.0. New features include support for ASGI with Python, multi-threading with several languages (Java, Perl, Python, Ruby), regular expressions in routing conditions, and more.
We walk through a bash script for setting up a WordPress deployment on Ubuntu that's managed by NGINX Unit and uses NGINX for web serving. The resulting WordPress deployment is scriptable, supports Let’s Encrypt, and has production-ready settings.
We explore two use cases for filesystem isolation in NGINX Unit. First, we stop attackers from accessing sensitive information, by restricting a compromised app to its sandbox directory. Second, we toggle between sets of global dependencies by defining them in separate filesystems.
NGINX Unit 1.18.0 introduces filesystem isolation, the 'target' option to reduce redundancy in PHP app configuration, and URL encoding. It also includes features introduced in NGINX Unit 1.17.0: redirects, and fractional server weights for traffic distribution in upstream groups.
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 extensions. The sample app is WordPress deployed in a Docker container.
NGINX Unit 1.16.0 introduces two new features that are already familiar to NGINX users. First, it can load balance across a group of upstream servers using the round-robin method. Second, you can define what happens when a requested file can't be served, similar to the NGINX 'try_files' directive.
Assembly language is popular in all kinds of system software and we believe that web development can also benefit from the advantages it provides. Today we're pleased to add support for assembly language to NGINX Unit. Web development in assembly has never been so easy.
NGINX Unit 1.13.0 introduces reverse proxying, and version 1.14.0 adds address-based routing to the internal routing and file-serving functionality from previous releases. We combine the new features in a complete configuration example for IP address filtering and access management.