Nginx modulo Brotli (text compression)

Da Webmobili Wiki.
Versione del 30 gen 2024 alle 16:32 di Simovinci (discussione | contributi) (Creata pagina con "Diverse madonne hanno forgiato questa guida.<br/> La fonte principale è https://github.com/google/ngx_brotli<br/> ma è scritto male, perciò lo scrivo molto meglio qua sotto...")
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)

Diverse madonne hanno forgiato questa guida.
La fonte principale è https://github.com/google/ngx_brotli
ma è scritto male, perciò lo scrivo molto meglio qua sotto.

I passi da seguire

Intanto bisogna capire quale versione di Nginx si ha installata.

sudo nginx -v

Qui useremo la 1.22.1

Creare una cartella temporanea in cui lavorare per scaricare i sorgenti e compilare dipendenze e moduli.

mkdir temp
cd temp

Scaricare dal sito ufficiale di Nginx il codice sorgente corrispondente alla propria versione.

wget https://nginx.org/download/nginx-1.22.1.tar.gz
tar -xvf nginx-1.22.1.tar.gz
rm nginx-1.22.1.tar.gz

Ora segue una parte nella quale bisogna avere fede.
Credo che compili il modulo ngx_brotli assicurandosi di scaricare prima le eventuali dipendenze.

git clone --recurse-submodules -j8 https://github.com/google/ngx_brotli
cd ngx_brotli/deps/brotli
mkdir out && cd out
cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=OFF -DCMAKE_C_FLAGS="-Ofast -m64 -march=native -mtune=native -flto -funroll-loops -ffunction-sections -fdata-sections -Wl,--gc-sections" -DCMAKE_CXX_FLAGS="-Ofast -m64 -march=native -mtune=native -flto -funroll-loops -ffunction-sections -fdata-sections -Wl,--gc-sections" -DCMAKE_INSTALL_PREFIX=./installed ..
cmake --build . --config Release --target brotlienc
cd ../../../..