nginx-ee icon indicating copy to clipboard operation
nginx-ee copied to clipboard

Automated Nginx compilation with HTTP/3 and additional modules support. Compatible with WordOps, EasyEngine & Plesk



Nginx-ee

Automated Nginx compilation from sources with additional modules support


build MIT Stars Commits
GitHub release codacy CodeFactor nginx-ee-badge

Features Modules Compatibility Usage Wiki Related Credits License

Nginx-ee


Features

  • Compile the latest Nginx releases : stable or mainline
  • Install Nginx or replace Nginx package previously installed
  • Nginx built-in modules selection
  • Nginx Third-party modules selection
  • Dynamic modules support
  • Brotli Support
  • TLS v1.3 support (Final)
  • OpenSSL (1.1.1g or 3.0.0-dev or from system-lib) or LibreSSL
  • Cloudflare HPACK
  • Cloudflare zlib
  • Automated nginx updates cronjob
  • Compilation with GCC-7/9
  • Security hardening and performance optimization enabled with proper GCC flags
  • An option to omit nginx configuration, allowing usage of third party devops tools

Additional Third-party modules

Nginx current mainline release : v1.19.2 Nginx current stable release : v1.18.0

For Nginx http_ssl_module :

Optional modules :


Compatibility

Operating System

Recommended

  • Ubuntu 20.04 LTS (Focal)
  • Ubuntu 18.04 LTS (Bionic)
  • Debian 10 (Buster)

Also compatible

  • Ubuntu 19.10 (Eoan)
  • Ubuntu 16.04 LTS (Xenial)
  • Debian 9 (Stretch)
  • Debian 8 (Jessie)
  • Raspbian 9 (Stretch)
  • Raspbian 10 (Buster)

Applications

LEMP Stack

  • EasyEngine v3
  • WordOps

Plesk

  • 17.5.x (Onyx)
  • 17.8.x
  • 17.9.x
  • 18.x (Obsidian)

Usage

One-Step Automated Install

Default settings :

  • mainline release
  • openssl stable : 1.1.1g
  • without pagespeed
  • without naxsi
  • without rtmp
bash <(wget -qO - vtb.cx/nginx-ee || curl -sL vtb.cx/nginx-ee)

Alternative Install Method

git clone https://github.com/VirtuBox/nginx-ee
cd nginx-ee
sudo bash nginx-build.sh

Interactive install

Interactive installation is available with arguments -i or --interactive

bash <(wget -O - vtb.cx/nginx-ee || curl -sL vtb.cx/nginx-ee) --interactive

Custom installation

Example : Nginx stable release with pagespeed and naxsi

bash <(wget -O - vtb.cx/nginx-ee || curl -sL vtb.cx/nginx-ee) --stable --pagespeed --naxsi

Options available

Nginx build options :

  • --stable : compile Nginx stable release
  • --full : Naxsi + PageSpeed + RTMP
  • --dynamic : Compile Nginx modules as dynamic modules
  • --noconf : Compile Nginx without any configuring. Useful when you use devops tools like ansible.

Optional third-party modules :

  • --pagespeed: compile nginx with ngx_pagespeed latest-stable
  • --pagespeed-beta: compile nginx with ngx_pagespeed latest-beta
  • --naxsi : compile nginx with naxsi
  • --rtmp : compile nginx with rtmp module
  • --libressl : compile nginx with LibreSSL instead of OpenSSL
  • --openssl-dev : compile nginx with OpenSSL 3.0.0-dev
  • --openssl-system : compile nginx with OpenSSL system lib

Extras :

  • --cron : setup daily cronjob to update nginx each time a new release is available

Roadmap

  • [x] Add choice between stable & mainline release
  • [x] Add Nginx configuration examples
  • [x] Add Cloudflare HPACK patch
  • [x] Add support for servers without EasyEngine
  • [x] Add non-interactive installation
  • [x] Add automated update detection
  • [x] Add support for Plesk servers
  • [x] Add Nginx modules choice
  • [x] Add support for Debian 9
  • [x] Add openssl release choice
  • [x] Add more compilation presets
  • [x] Add support for LibreSSL
  • [x] Add noconf support
  • [ ] Add support for config.inc build configuration
  • [ ] Add HTTP/3 QUIC support

Packages

You are looking for an up-to-date version of Nginx with additional modules but without having to recompile Nginx after new releases ? Feel free to use the custom Nginx package built for WordOps and available on Launchpad.net (for Ubuntu) and OpenSuseBuildService (for Debian/Ubuntu/Raspbian).

Add the repository

Launchpad

sudo add-apt-repository ppa:wordops/nginx-wo -uy

OpenSuseBuildService

Install steps available on Download page

Install Nginx

sudo apt install nginx-custom nginx-wo -y

Related


Contributing

If you have any ideas, just open an issue and describe what you would like to add/change in Nginx-ee.

If you'd like to contribute, please fork the repository and make changes as you'd like. Pull requests are warmly welcome.

Credits

License

MIT © VirtuBox