🌀Geoip2

Recuerda hacer Backup.

Si tiene instalado Geoip2 siguiendo el tutorial https://topete.gitbook.io/contenido/v/nginx-geoip2/ debes hacer unas pequeñas modificaciones en tus archivos.

Archivos a modificar.

Los siguientes archivos son los que se encuentran en /data, y pertenecen tanto a geoip2 como al modulo pagespeed.

  1. entrypoint_speed.sh

  2. entrypoint.sh

  3. compile-geoip2.sh

  4. plantilla NGINX

Modificaciones.

Primeramente vamos a crear el siguiente archivo, que llamaremos entrypoint_speed_geoip2.sh

accedemos al terminar de nuestro NGINX y creamos al archivo.

cd && su && cd /data

Seguramente tendremos que volver a instalar vim

apt update && apt install vim -y

Continuamos en el directorio /data

vim entrypoint_speed_geoip2.sh
#!/bin/bash
apt-get update
apt-get install -y libmaxminddb0 libmaxminddb-dev --no-install-recommends apt-utils

echo "=>Check for Speed and geoiop2 modules files and version flag..."
set -- /etc/nginx/modules/ngx_topete_*
if [[ -f /etc/nginx/modules/ngx_http_geoip2_module.so && -f /etc/nginx/modules/ngx_stream_geoip2_module.so && -f /etc/nginx/modules/ngx_pagespeed.so && -f "$1" ]]; then
        moduleversion=$(echo $1|cut -d "-" -f2|grep -oP '^\d*\.\d*\.\d*')
        ngxversion=$(/etc/nginx/bin/openresty -v 2>&1|cut -d "/" -f2|grep -oP '^\d*\.\d*\.\d*')
        if [ "$moduleversion" != "$ngxversion" ]; then
                echo "!=>Topete modules ($moduleversion) and nginx ($ngxversion) version mismatch !"
                echo "!=>Starting compilation !"
                /data/speed.sh 
                /data/compile-geoip2.sh
        else
                echo "=>Topete modules found and version match nginx !"
        fi
else
        echo "!=>No Topete module found !"
        echo "!=>Starting compilation !"
        /data/speed.sh
        /data/compile-geoip2.sh
fi

apt clean
rm -rf /var/lib/apt/lists/*

set -- /etc/nginx/modules/ngx_topete_*
moduleversion=$(echo $1|cut -d "-" -f2|grep -oP '^\d*\.\d*\.\d*')
ngxversion=$(/etc/nginx/bin/openresty -v 2>&1|cut -d "/" -f2|grep -oP '^\d*\.\d*\.\d*')
echo "### Topete Modules $moduleversion - Nginx $ngxversion ###"
echo "### Starting NPM orignal entrypoint ###"
/init
rm -f /data/speed.sh && rm -f /data/entrypoint.sh

Ahora modificamos unas líneas en el archivo compile-geoip2.sh

Cambiaremos estas dos líneas al final del archivo

rm -f /etc/nginx/modules/ngx_geoip2_*
touch /etc/nginx/modules/ngx_geoip2_$ngxversion

por estas.

rm -f /etc/nginx/modules/ngx_topete_*
touch /etc/nginx/modules/ngx_topete_$ngxversion

modificar plantilla.

cambia el entrypoint de la plantilla por el creado, entrypoint_speed_geoip2.sh

Reiniciamos NGINX y verificamos posibles errores, comprueba que de nuevo que tanto geoip2 como speed están en funcionamiento.

Última actualización