Skip to content

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

License

Notifications You must be signed in to change notification settings

VirtuBox/nginx-ee

Repository files navigation



Nginx-ee

Automated Nginx compilation from sources with HTTP/3 QUIC and additional modules support


build MIT Stars Commits
GitHub release codacy CodeFactor

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
  • HTTP/3 QUIC Support
  • Brotli Support
  • TLS v1.3 support
  • OpenSSL or LibreSSL
  • Cloudflare zlib
  • Automated nginx updates cronjob
  • 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.27.0 with HTTP/3 QUIC

Nginx current stable release : v1.26.1 with HTTP/3 QUIC

For Nginx http_ssl_module :

Optional modules :


Compatibility

Operating System

Recommended

  • Ubuntu 24.04 LTS (Noble)
  • Ubuntu 22.04 LTS (Jammy)
  • Ubuntu 20.04 LTS (Focal)
  • Ubuntu 18.04 LTS (Bionic)
  • Debian 10 (Buster)
  • Debian 11 (Bullseye)
  • Debian 12 (Bookworm)

Also compatible

  • Raspbian 10 (Buster)
  • Raspbian 11 (Bullseye)

Applications

LEMP Stack

  • EasyEngine v3
  • WordOps

Plesk

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

HTTP/3 QUIC

Full support of HTTP/3 QUIC is only available with LibreSSL. More information here.


Usage

One-Step Automated Install

Default settings :

  • mainline release with HTTP/3
  • openssl from system
  • 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 HTTP/3 with naxsi

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

Options available

Nginx build options :

  • --stable : compile Nginx stable release with HTTP/3
  • --full : Naxsi + 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 :

  • --naxsi : compile nginx with naxsi
  • --rtmp : compile nginx with rtmp module
  • --libressl : compile nginx with LibreSSL instead of OpenSSL

Extras :

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

Roadmap

  • Add choice between stable & mainline release
  • Add Nginx configuration examples
  • Add Cloudflare HPACK patch
  • Add support for servers without EasyEngine
  • Add non-interactive installation
  • Add automated update detection
  • Add support for Plesk servers
  • Add Nginx modules choice
  • Add support for Debian 9
  • Add openssl release choice
  • Add more compilation presets
  • Add support for LibreSSL
  • 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