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)
- Cloudflare HPACK (for Mainline release only)
- Cloudflare zlib
- Automated nginx updates cronjob
- Compilation with GCC-7/8
- Security hardening and performance optimization enabled with proper GCC flags
Additional Third-party modules
Nginx current mainline release : v1.15.9 Nginx current stable release : v1.14.2
- ngx_cache_purge
- headers-more-nginx-module
- ngx_brotli
- memc-nginx-module
- ngx-devel-kit
- srcache-nginx-module
- ngx_http_substitutions_filter_module
- nginx_dynamic_tls_records
- OpenSSL
- ipscrub
- ngx_http_auth_pam_module
- virtual-host-traffic-status
- Cloudflare zlib
- redis2-nginx-module
Optional modules :
Compatibility
Operating System
Recommended
- Ubuntu 18.04 LTS (Bionic)
- Ubuntu 16.04 LTS (Xenial)
Also compatible
- Debian 9 (Stretch)
- Debian 8 (Jessie)
- Raspbian (Stretch)
Applications
LEMP Stack
- EasyEngine v3
- WordOps
Plesk
- 17.5.x
- 17.8.x
- 17.9.x
Usage
One-Step Automated Install
- mainline release
- without pagespeed
- without naxsi
- without rtmp
bash <(wget -O - virtubox.net/nginx-ee || curl -sL virtubox.net/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 - virtubox.net/nginx-ee || curl -sL virtubox.net/nginx-ee) --interactive
Custom installation
Example : Nginx stable release with pagespeed and naxsi
bash <(wget -O - virtubox.net/nginx-ee || curl -sL virtubox.net/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
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
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 support for config.inc build configuration
- Add openssl release choice
- Add more compilation presets
- Add support for LibreSSL
Related
- Ubuntu-nginx-web-server : repository with all custom nginx configurations used by VirtuBox
- WO-Nginx-Setup : automated wordops setup script
- Plesk-nginx-fastcgi-cache-template : Plesk Onyx custom hosting templates with fastcgi_cache support
- Nginx-Cloudflare-real-ip : Bash script to restore visitor real IP under Cloudflare with Nginx
- 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