Awesome Open Source
Awesome Open Source



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


Get A Weekly Email With Trending Projects For These Topics
No Spam. Unsubscribe easily at any time.
shell (10,559
nginx (503
ubuntu (362
debian (241
cloudflare (121
openssl (73
raspbian (50
brotli (32
zlib (31
pagespeed (20
tls13 (17