Nginx HDA Bundle - Dynamic Modules Power
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
debian update submodules May 24, 2018
.gitmodules update submodules May 24, 2018
README.md Update README.md Jan 12, 2018

README.md

Need some help with nginx-hda-bundle snap package!

nginx-hda-bundle

Nginx HDA Bundle - Dynamic Modules Power

Dynamic modules

Base dynamic modules

  • http_xslt module
  • http_image_filter module
  • http_geoip module
  • http_perl module
  • ngx_mail module with xmmp patch backported from nginx-xmpp (linked with mail_ssl)
  • ngx_stream module (linked with stream_ssl), and stream_ssl_preread since 1.11.5.
  • ngx_http_js module
  • ngx_http_mirror_module (build in nginx, since 1.13.4)

Static modules

  • http_ssl module
  • http_realip module
  • http_addition module
  • http_sub module
  • http_gunzip module
  • http_gzip_static module
  • http_random_index module
  • http_secure_link module
  • http_stub_status module
  • http_auth_request module
  • http_slice module

Modules removed: http_dav, http_flv, http_mp4

Optimizations made

How-to load dynamic modules?

Add the following to the top of /etc/nginx/nginx.conf (for example after pid) and reload nginx.

load_module modules/ndk_http_module.so;
load_module modules/ngx_http_geoip_module.so;
load_module modules/ngx_stream_geoip_module.so;
load_module modules/ngx_http_headers_more_filter_module.so;
load_module modules/ngx_http_image_filter_module.so;
load_module modules/ngx_http_length_hiding_filter_module.so;
load_module modules/ngx_http_lua_module.so;
load_module modules/ngx_http_naxsi_module.so;
load_module modules/ngx_http_js_module.so;
load_module modules/ngx_stream_js_module.so;
load_module modules/ngx_pagespeed.so;
load_module modules/ngx_http_perl_module.so;
load_module modules/ngx_stream_module.so;
load_module modules/ngx_mail_module.so;
load_module modules/ngx_http_rds_json_filter_module.so;
load_module modules/ngx_http_session_binding_proxy_module.so;
load_module modules/ngx_http_testcookie_access_module.so;
load_module modules/ngx_http_upstream_order_module.so;
load_module modules/ngx_http_xslt_filter_module.so;
# ngx_brotli filter module - used to compress responses on-the-fly.
load_module modules/ngx_http_brotli_filter_module.so;
# ngx_brotli static module - used to serve pre-compressed files.
# Both ngx_brotli modules could be used separately, but part of nginx-module-brotli package
# You possibly don't need libbrotli for ngx_brotli, dependency removed since nginx 1.11.7, but libbrotli package will be saved in repository
load_module modules/ngx_http_brotli_static_module.so;
load_module modules/ngx_postgres_module.so;
load_module modules/ngx_nchan_module.so;
load_module modules/ngx_http_auth_pam_module.so;
load_module modules/ngx_http_echo_module.so;
load_module modules/ngx_http_upstream_fair_module.so;
load_module modules/ngx_http_cache_purge_module.so;
load_module modules/ngx_http_fancyindex_module.so;
load_module modules/ngx_http_uploadprogress_module.so;
load_module modules/ngx_http_subs_filter_module.so;
load_module modules/ngx_http_graphite_module.so;
load module modules/ngx_http_vhost_traffic_status_module.so;
load_module modules/ngx_ssl_ct_module.so 
load_module modules/ngx_http_ssl_ct_module.so 
load_module modules/ngx_mail_ssl_ct_module.so 
load_module modules/ngx_stream_ssl_ct_module.so
load_module modules/ngx_rtmp_module.so;
load_module modules/ngx_http_ts_module.so.so;
load_module modules/ngx_http_stream_server_traffic_status_module.so;
load_module modules/ngx_stream_server_traffic_status_module.so;

Note: Use only modules you need to use. With dynamic modules this is pretty easy.

I want to add my or someone's nginx module to nginx-hda-bundle/ppa.

Module should be dynamic!
Fast-way: Pull request with changes, better if module will be as git submodule. Don't forget to change rules file and create install rules for module.
Slower way: Create issue request with module description and link to module, and I'll do it myself in spare time.

Where I can find PPA?

PPA located here You can add it with

sudo apt-add-repository ppa:hda-me/nginx-stable
sudo apt-get update
sudo apt-get install nginx nginx-module-name-you-wish

Build hacks

Change buildtype for Release in ngx_pagespeed config file, to use master version.

Q: Why you switched from stable to mainline builds?

Nginx mainline builds more stable now, and its easier to receive news about new mainline release, even before source is available on nginx.org from nginx mailing list. Stable nginx versions releases became even less frequent, and a lot fixes not imported in stable version, only critical and secure fixes. Main reason I used stable version before, was lifecycle and modules support. But since most 3-rd party modules are dynamic now, is not crucial even if some module will break.

Donation

Bitcoin : 1N5czHaoSLukFSTq2ZJujaWGjkmBxv2dT9