GNU/Linux >> Tutoriales Linux >  >> Cent OS

Cómo instalar Nginx con el módulo GeoIP

En este tutorial, le mostraremos cómo instalar Nginx con el módulo GeoIP en CentOS.  Para aquellos de ustedes que no lo sabían, el módulo Nginx GeoIP para la segmentación geográfica por país y ciudad puede instalarse en unos pocos pasos sencillos. Le brinda una capa de orientación geográfica que le permite mostrar algunas partes de sus sitios web, o incluso dividir el tráfico de acuerdo con la ubicación geográfica de los usuarios finales. De forma predeterminada, cuando instala módulos de yum , Nginx no vendrá con el módulo GeoIP (Este es el módulo:HttpGeoipModule), por lo que instalaremos desde la fuente y activaremos el módulo.

Este artículo asume que tiene al menos conocimientos básicos de Linux, sabe cómo usar el shell y, lo que es más importante, aloja su sitio en su propio VPS. La instalación es bastante simple y asume que se están ejecutando en la cuenta raíz, si no, es posible que deba agregar 'sudo ' a los comandos para obtener privilegios de root. Le mostraré la instalación paso a paso del módulo Nginx con GeoIP en el sistema CentOS.

Instalar Nginx con módulo GeoIP

Paso 1. Primero, comencemos asegurándonos de que su sistema esté actualizado.

sudo yum install epel-release
sudo yum update

Paso 2. La instalación de All Requires Dependency.

Ahora la instalación requiere un paquete para compilar:

yum install gcc-c++ pre pcre-devel zlib zlib-devel -y

Paso 3. Descarga e instala Nginx.

Ahora descargamos la última versión estable de Nginx desde aquí y la compilamos con compatibilidad con el módulo GeoIP.

cd /opt/nginx/
wget https://nginx.org/download/nginx-1.21.5.tar.gz
tar -zxf nginx-1.21.5.tar.gz
cd nginx-1.21.5/
./configure
--prefix=/etc/nginx \
--sbin-path=/etc/nginx/sbin/nginx \
--conf-path=/etc/nginx/conf/nginx.conf \
--error-log-path=/var/log/nginx/error.log \
--http-log-path=/var/log/nginx/access.log \
--pid-path=/var/run/nginx.pid \
--lock-path=/var/run/ninx.lock \
--user=nobody \
--with-http_geoip_module \
--with-http_gzip_static_module \
--with-http_secure_link_module \
--without-mail_pop3_module \
--without-mail_imap_module \
--without-mail_smtp_module \
--without-http_ssi_module

Una vez que haya terminado de compilar, instale Nginx usando el siguiente comando:

make
make install

Paso 4. Cree un script de inicio para Nginx.

Primero, agregue el usuario Nginx al sistema. Este es un comando único:

useradd -r nginx

Necesitamos configurar el archivo /etc/init.d/nginx para ejecutar cuando se inicia el sistema:

wget -O /etc/init.d/nginx https://gist.github.com/sairam/5892520/raw/b8195a71e944d46271c8a49f2717f70bcd04bf1a/etc-init.d-nginx
chmod 0755 /etc/init.d/nginx
chown root:root /etc/init.d/nginx

Finalmente, inicie Nginx:

systemctl restart nginx

Paso 5. Instalación de la biblioteca GeoIP en el sistema CentOS.

Ahora ejecute los siguientes comandos para instalar la biblioteca GeoIP

sudo yum install geoip geoip-devel

Después de una instalación exitosa, la biblioteca se almacenará en /usr/share/GeoIP/GeoIP.dat Para obtener las últimas actualizaciones, puede descargarlas aquí.

Paso 5. Configurar Nginx

A continuación, configuramos el archivo principal:

nano /etc/nginx/conf/nginx.conf

Agregue el siguiente archivo:

http {
[...]
geoip_country /usr/share/GeoIP/GeoIP.dat;
map $geoip_country_code $allowed_country {
default yes;
CN no;
}
[...]
}

Después de eso, configuramos el host virtual Nginx:

nano /etc/nginx/conf.d/yourdomain.conf

Agregue la siguiente línea:

server {
[...]
if ($allowed_country = no) {
return 444;
# # This means the server will stop processing, returns error 444 (The connection was reset),
# # And ignore always sending the response header.
# # Replace 444 by 403 if you want
}
[...]
}

La configuración anterior aceptará todas las direcciones IP y prohibirá solo las direcciones IP de China (CN). Acerca del código del país en la base de datos GeoIP, puede consultar aquí.

¡Felicitaciones! Ha instalado correctamente Nginx con el módulo GeoIP. Gracias por usar este tutorial para instalar Nginx con el módulo GeoIP en el sistema Linux. Para obtener ayuda adicional o información útil, le recomendamos que consulte el sitio web oficial Sitio web de Nginx.


Cent OS
  1. Cómo instalar WordPress con Nginx en CentOS 7

  2. Cómo instalar phpMyAdmin con Nginx en CentOS 7

  3. Cómo instalar Nginx con módulo RTMP en CentOS 7

  4. Cómo instalar phpMyAdmin con Nginx en CentOS 7 / RHEL 7

  5. Cómo instalar Sitemagic CMS en CentOS 7 – Con Nginx

Cómo instalar Nginx con ngx_pagespeed en CentOS

Cómo instalar Nginx con PHP-FastCGI en CentOS 6

Cómo instalar Magento con Nginx en CentOS 7

Cómo instalar Laravel con Nginx en CentOS 8

Cómo instalar Nginx con el módulo Ngx_Pagespeed en Ubuntu 16.04 LTS

Cómo instalar Nginx con módulo RTMP en CentOS 8