Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

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

Awesome Lists containing this project

README

        









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

* [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 OpenSSL

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
* [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