Creating Installable Packages for Dynamic Modules

NGINX 1.11.5 and NGINX Plus R11 introduced support for compiling dynamic modules independently of NGINX itself. This allows users of NGINX and NGINX Plus to use the official builds from the NGINX, Inc. repositories and load in the dynamic modules they need. There are several sources of dynamic modules: Official repository of prebuilt open source NGINX packages and modules Official… Continue reading ›

NGINX Plus for the IoT: Encrypting and Authenticating MQTT Traffic

Editor – This is the sixth in a series of blog posts about nginScript. The first post discusses why NGINX, Inc. developed its own implementation of JavaScript, and presents a sample use case. The subsequent posts explore additional use cases: [ngx_snippet name='nginscript-blog-series'] In the first part of this two‑part series of blog posts about NGINX Plus and… Continue reading ›

NGINX Plus for the IoT: Load Balancing MQTT

Editor – This is the fifth in a series of blog posts about nginScript. The first post discusses why NGINX, Inc. developed its own implementation of JavaScript, and presents a sample use case. The subsequent posts explore additional use cases: [ngx_snippet name='nginscript-blog-series'] When it comes to the busiest websites on the Internet, NGINX and NGINX Plus dominate the… Continue reading ›

Data Masking for User Privacy with nginScript

Fabric pattern that confuses facial-recognition software, designed by Adam Harvey In October 2016, the Court of Justice of the European Union ruled that IP addresses are “personal information” and as such fall under the Data Protection Directive and General Data Protection Regulation (GPDR). For many website owners, this presents challenges for archiving… Continue reading ›

Recovering from a Failed NGINX Plus Upgrade: ‘module “M” version X instead of Y’

If you are using dynamic modules, you might see an error like this during the upgrade to a new NGINX or NGINX Plus release: Setting up nginx-plus (1.11.10-1~xenial) ... nginx: module "/etc/nginx/modules/ngx_http_geoip_module.so" version 1011005 instead of 1011006 in /etc/nginx/nginx.conf:7 nginx: configuration file /etc/nginx/nginx.conf test failed invoke-rc.d: initscript nginx, action "upgrade" failed. The most likely reason… Continue reading ›

Introduction to nginScript

[ngx_snippet name='table-style-blog'] Harnessing the Power and Convenience of JavaScript for Each Request Editor – This is the first in a series of blog posts about nginScript. It discusses why NGINX, Inc. developed its own implementation of JavaScript, and presents a sample use case. Check out the other posts to explore additional use cases: [ngx_snippet name='nginscript-blog-series'] Since nginScript… Continue reading ›

Optimizing Your Website with the Google PageSpeed Dynamic Module for NGINX Plus

As the average size of web pages continues to grow, it is increasingly important to optimize all aspects of design, development, and delivery of your website in order to ensure a good experience for your users, regardless of what device they are using. It is well documented that page load time impacts user experience and… Continue reading ›

Scaling MySQL with TCP Load Balancing and Galera Cluster

We introduced TCP load balancing in NGINX Plus R5, and have continually added features in subsequent releases, as well as support for UDP load balancing. In this article we explore the key requirements for TCP load balancing and how NGINX Plus addresses them. To explore the features of NGINX Plus we will use a simple test environment that represents… Continue reading ›

NGINX and NGINX Plus Deliver Responsive Images Without the Headaches

Photo: Phil Roeder Using the Image‑Filter module and srcset tag to resize images on the fly Responsive web design has become the norm for modern websites and web applications, providing a consistent experience across a wide variety of devices while also optimizing the display for each device. However, modern devices vary… Continue reading ›

Application Tracing with NGINX and NGINX Plus

Photo: WordPress.org Using variables for application performance management Variables are an important and sometimes overlooked aspect of NGINX configuration. With approximately 150 variables available, there are variables to enhance every part of your configuration. In this blog post we discuss how to use NGINX variables for application tracing and application performance… Continue reading ›