Nginx modulo Brotli (text compression): differenze tra le versioni

Da Webmobili Wiki.
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..."
 
Nessun oggetto della modifica
Riga 9: Riga 9:
</syntaxhighlight>
</syntaxhighlight>
Qui useremo la ''1.22.1''
Qui useremo la ''1.22.1''
Installare <code>cmake</code> per compilare codice sorgente.
<syntaxhighlight lang="bash">
sudo apt install cmake
</syntaxhighlight>


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

Versione delle 16:35, 30 gen 2024

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

Installare cmake per compilare codice sorgente.

sudo apt install cmake

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 ../../../..