En este artículo compilaremos la compresión Brotli para el servidor Nginx.
Consideramos que ya tienes instalado Nginx y ya tienes un sitio web corriendo.
Primer veremos que version tenemos instalada:
nginx -v
# nginx version: nginx/1.20.1
Sabiendo la version bajaremos el codigo fuente desde Nginx:
cd /usr/src
wget https://nginx.org/download/nginx-1.20.1.tar.gz
tar zxvf nginx-1.20.1.tar.gz
Eliminamos el comprimido que bajamos
rm nginx-1.20.1.tar.gz
Clonamos el repositorio de Brotli de Google:
git clone https://github.com/google/ngx_brotli.git
cd ngx_brotli
git submodule update --init
cd ..
Nos cambiamos al directorio del código de Nginx:
cd nginx-1.20.1
Instalamos algunos programas necesarios:
dnf install -y pcre pcre-devel zlib zlib-devel openssl openssl-devel
Configuramos el código de Nginx para que incluya el módulo de Brotli y lo compilamos:
./configure --with-compat --add-dynamic-module=../ngx_brotli
make modules
Copiamos los archivos a su destino final:
sudo cp objs/*.so /etc/nginx/modules
Cabe hacer notar que el directorio de módulos de nginx cambia de compilación a compilación.
Configuracion de Nginx:
Agregamos los módulos al inicio del archivo /etc/nginx/nginx.conf
load_module modules/ngx_http_brotli_filter_module.so;
load_module modules/ngx_http_brotli_static_module.so;
En la parte de http del archivo de configuración agregamos:
brotli on;
brotli_static on;
brotli_types text/plain text/css text/javascript application/javascript text/xml application/xml image/svg+xml application/json;
Probamos la configuración:
nginx -t
Si no muestra error alguno reiniciamos el nginx y listo
systemctl restart nginx