GNU/Linux >> Tutoriels Linux >  >> Cent OS

Comment installer Nginx avec le module GeoIP

Dans ce didacticiel, nous allons vous montrer comment installer Nginx avec le module GeoIP sur CentOS.  Pour ceux d'entre vous qui ne le savaient pas, le module Nginx GeoIP pour le ciblage géographique par pays et ville peut être installé en quelques étapes faciles. Il vous apporte une couche de ciblage géographique vous permettant d'afficher certaines parties de vos sites Web, ou même de répartir le trafic en fonction de l'emplacement géographique des utilisateurs finaux. Par défaut, lorsque vous installez des modules à partir de yum , Nginx ne viendra pas avec le module GeoIP (Ceci est le module :HttpGeoipModule), nous allons donc installer à partir de la source et activer le module.

Cet article suppose que vous avez au moins des connaissances de base sur Linux, que vous savez utiliser le shell et, plus important encore, que vous hébergez votre site sur votre propre VPS. L'installation est assez simple et suppose que vous s'exécutent dans le compte root, sinon vous devrez peut-être ajouter 'sudo ‘ aux commandes pour obtenir les privilèges root. Je vais vous montrer étape par étape l'installation du module Nginx avec GeoIP sur le système CentOS.

Installer Nginx avec le module GeoIP

Étape 1. Tout d'abord, commençons par nous assurer que votre système est à jour.

sudo yum install epel-release
sudo yum update

Étape 2. L'installation de tous nécessite une dépendance.

Maintenant, l'installation nécessite un package pour la compilation :

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

Étape 3. Téléchargez et installez Nginx.

Nous téléchargeons maintenant la dernière version stable de Nginx à partir d'ici et la construisons avec la prise en charge du module 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

Une fois la compilation terminée, installez ensuite Nginx à l'aide de la commande suivante :

make
make install

Étape 4. Créez un script d'initialisation pour Nginx.

Tout d'abord, ajoutez l'utilisateur Nginx au système. Il s'agit d'une commande unique :

useradd -r nginx

Nous devons configurer le fichier /etc/init.d/nginx à exécuter au démarrage du système :

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

Enfin, démarrez le Nginx :

systemctl restart nginx

Étape 5. Installation de la bibliothèque GeoIP sur le système CentOS.

Exécutez maintenant les commandes suivantes pour installer la bibliothèque GeoIP

sudo yum install geoip geoip-devel

Une fois l'installation réussie, la bibliothèque sera stockée dans /usr/share/GeoIP/GeoIP.dat Pour les dernières mises à jour, vous pouvez les télécharger ici.

Étape 5. Configurer Nginx

Ensuite, nous configurons le fichier principal :

nano /etc/nginx/conf/nginx.conf

Ajoutez le fichier suivant :

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

Après cela, nous configurons l'hôte virtuel Nginx :

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

Ajoutez la ligne suivante :

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 configuration ci-dessus acceptera toutes les IP et bannira uniquement l'IP de Chine (CN). À propos du code du pays dans la base de données GeoIP, vous pouvez vous référer ici.

Félicitations ! Vous avez installé avec succès le module Nginx avec GeoIP. Merci d'avoir utilisé ce didacticiel pour l'installation de Nginx avec le module GeoIP sur le système Linux. Pour obtenir de l'aide supplémentaire ou des informations utiles, nous vous recommandons de consulter le Site Web Nginx.


Cent OS
  1. Comment installer WordPress avec Nginx sur CentOS 7

  2. Comment installer phpMyAdmin avec Nginx sur CentOS 7

  3. Comment installer Nginx avec le module RTMP sur CentOS 7

  4. Comment installer phpMyAdmin avec Nginx sur CentOS 7 / RHEL 7

  5. Comment installer Sitemagic CMS sur CentOS 7 – Avec Nginx

Comment installer Nginx avec ngx_pagespeed sur CentOS

Comment installer Nginx avec PHP-FastCGI sur CentOS 6

Comment installer Magento avec Nginx sur CentOS 7

Comment installer Laravel avec Nginx sur CentOS 8

Comment installer Nginx avec le module Ngx_Pagespeed sur Ubuntu 16.04 LTS

Comment installer Nginx avec le module RTMP sur CentOS 8