Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/VirtuBox/nginx-ee
Automated Nginx compilation with HTTP/3 and additional modules support. Compatible with WordOps, EasyEngine & Plesk
https://github.com/VirtuBox/nginx-ee
brotli cloudflare debian http3 libressl naxsi nginx openssl plesk quic raspbian tls13 ubuntu wordops zlib
Last synced: 5 days ago
JSON representation
Automated Nginx compilation with HTTP/3 and additional modules support. Compatible with WordOps, EasyEngine & Plesk
- Host: GitHub
- URL: https://github.com/VirtuBox/nginx-ee
- Owner: VirtuBox
- License: mit
- Created: 2017-12-07T13:15:16.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2024-06-03T08:08:34.000Z (5 months ago)
- Last Synced: 2024-10-30T05:57:41.503Z (6 days ago)
- Topics: brotli, cloudflare, debian, http3, libressl, naxsi, nginx, openssl, plesk, quic, raspbian, tls13, ubuntu, wordops, zlib
- Language: Shell
- Homepage: https://virtubox.github.io/nginx-ee/
- Size: 780 KB
- Stars: 203
- Watchers: 24
- Forks: 58
- Open Issues: 18
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
Nginx-ee
Automated Nginx compilation from sources with HTTP/3 QUIC and 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
* 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
* [ngx_cache_purge](https://github.com/FRiCKLE/ngx_cache_purge)
* [headers-more-nginx-module](https://github.com/openresty/headers-more-nginx-module)
* [ngx_brotli](https://github.com/google/ngx_brotli)
* [memc-nginx-module](https://github.com/openresty/memc-nginx-module.git)
* [ngx-devel-kit](https://github.com/simpl/ngx_devel_kit.git)
* [ngx_http_redis](https://github.com/centminmod/ngx_http_redis)
* [srcache-nginx-module](https://github.com/openresty/srcache-nginx-module)
* [ngx_http_substitutions_filter_module](https://github.com/yaoweibin/ngx_http_substitutions_filter_module)
* [nginx_dynamic_tls_records](https://github.com/nginx-modules/ngx_http_tls_dyn_size)
* [ipscrub](http://www.ipscrub.org/)
* [ngx_http_auth_pam_module](https://github.com/sto/ngx_http_auth_pam_module)
* [virtual-host-traffic-status](https://github.com/vozlt/nginx-module-vts)
* [Cloudflare zlib](https://github.com/cloudflare/zlib.git)
* [redis2-nginx-module](https://github.com/openresty/redis2-nginx-module.git)For Nginx http_ssl_module :
* [OpenSSL](https://github.com/openssl/openssl)
* [LibreSSL](https://github.com/libressl-portable)Optional modules :
* [naxsi WAF](https://github.com/wargio/naxsi)
* [nginx-rtmp-module](https://github.com/arut/nginx-rtmp-module)---
## 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](https://nginx.org/en/docs/http/ngx_http_v3_module.html).
---
## Usage
### One-Step Automated Install
**Default settings** :
* mainline release with HTTP/3
* openssl from system
* without naxsi
* without rtmp```bash
bash <(wget -qO - vtb.cx/nginx-ee || curl -sL vtb.cx/nginx-ee)
```### Alternative Install Method
```bash
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
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
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 OpenSSLExtras :
* `--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
* [x] 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](https://launchpad.net/~wordops/+archive/ubuntu/nginx-wo) (for Ubuntu) and [OpenSuseBuildService](https://build.opensuse.org/package/show/home:virtubox:WordOps/nginx) (for Debian/Ubuntu/Raspbian).### Add the repository
#### Launchpad
```bash
sudo add-apt-repository ppa:wordops/nginx-wo -uy
```#### OpenSuseBuildService
Install steps available on [Download page](https://software.opensuse.org/download.html?project=home%3Avirtubox%3AWordOps&package=nginx)
### Install Nginx
```bash
sudo apt install nginx-custom nginx-wo -y
```## Related
* [WordOps](https://github.com/WordOps/WordOps)
* [Ubuntu-nginx-web-server](https://github.com/VirtuBox/ubuntu-nginx-web-server)
* [Plesk-nginx-fastcgi-cache-template](https://github.com/VirtuBox/plesk-nginx-fascgi-cache-template)
* [Nginx-Cloudflare-real-ip](https://github.com/VirtuBox/nginx-cloudflare-real-ip)
* [Advanced Nginx Cheatsheet](https://github.com/VirtuBox/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](https://github.com/centminmod/centminmod) : Nginx, Nginx modules & various other patches
* [hakase](https://github.com/hakasenyang/openssl-patch) : OpenSSL-patch
* [Karl Chen](https://github.com/kn007/patch) : Nginx patches## License
[MIT](https://github.com/VirtuBox/nginx-ee/blob/master/LICENSE) © VirtuBox