Nginx-ee
Automated Nginx compilation from sources with additional modules support
Features β’ Modules β’ Compatibility β’ Usage β’ Wiki β’ Related β’ Credits β’ License
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 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.23.4 Nginx current stable release : v1.24.0
- ngx_cache_purge
- headers-more-nginx-module
- ngx_brotli
- memc-nginx-module
- ngx-devel-kit
- ngx_http_redis
- srcache-nginx-module
- ngx_http_substitutions_filter_module
- nginx_dynamic_tls_records
- ipscrub
- ngx_http_auth_pam_module
- virtual-host-traffic-status
- Cloudflare zlib
- redis2-nginx-module
For Nginx http_ssl_module :
Optional modules :
Compatibility
Operating System
Recommended
- Ubuntu 22.04 LTS (Jammy)
- Ubuntu 20.04 LTS (Focal)
- Ubuntu 18.04 LTS (Bionic)
- Debian 10 (Buster)
- Debian 11 (Bullseye)
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)
Usage
One-Step Automated Install
Default settings :
- mainline release
- 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 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--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
- WordOps
- Ubuntu-nginx-web-server
- Plesk-nginx-fastcgi-cache-template
- Nginx-Cloudflare-real-ip
- Advanced Nginx Cheatsheet
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
- centminmod : Nginx, Nginx modules & various other patches
- hakase : OpenSSL-patch
- Karl Chen : Nginx patches