NGINX Modules

NGINX, at its core, is a collection of modules. Whether you are using core modules, like the http and stream modules, or 3rd party module, like geoip or RTMP, they are using the same module framework. With the addition of dynamic module support, modules are an even better way to add functionality to NGINX.

But just because you can write a module doesn’t necessarily mean you should. There is a lot of customization that can be done in the basic NGINX configuration. Once you get beyond what can be done in the configuration, it is time to look into the next option, scripting. With the addition of the NGINX JavaScript Module (nginscript), it offered a higher performance scripting option to existing lua implementation. We are also working to add functionality so that you can write a full module in JavaScript, but this is still in a preview state. If the code for your solution running in nginscript is still causing too much of a performance impact, it is time to start looking into writing a fully integrated C module.