GNU/Linux >> Znalost Linux >  >> Cent OS

Jak nainstalovat Nginx s modulem GeoIP

V tomto tutoriálu vám ukážeme, jak nainstalovat modul Nginx With GeoIP na CentOS.  Pro ty z vás, kteří to nevěděli, může modul Nginx GeoIP pro geografické cílení na země a města nainstalovat v několika snadných krocích. Přináší vám vrstvu geografického cílení, která vám umožní zobrazit některé části vašich webových stránek, nebo dokonce rozdělit provoz podle geografické polohy koncových uživatelů. Ve výchozím nastavení, když instalujete moduly z yum , Nginx nebude dodáván s modulem GeoIP (toto je modul:HttpGeoipModule), takže nainstalujeme ze zdroje a aktivního modulu.

Tento článek předpokládá, že máte alespoň základní znalosti Linuxu, víte, jak používat shell, a co je nejdůležitější, hostujete svůj web na vlastním VPS. Instalace je poměrně jednoduchá a předpokládá, že běží v účtu root, pokud ne, možná budete muset přidat 'sudo ‘ k příkazům pro získání oprávnění root. Ukážu vám krok za krokem instalaci modulu Nginx With GeoIP Module na systém CentOS.

Nainstalujte Nginx s modulem GeoIP

Krok 1. Nejprve začněme tím, že zajistíme, aby byl váš systém aktuální.

sudo yum install epel-release
sudo yum update

Krok 2. Instalace Vše vyžaduje závislost.

Nyní instalace vyžaduje balíček pro kompilaci:

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

Krok 3. Stáhněte a nainstalujte Nginx.

Nyní si odtud stáhneme nejnovější stabilní verzi Nginx a vytvoříme ji s podporou modulu 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

Po dokončení kompilace dále nainstalujte Nginx pomocí následujícího příkazu:

make
make install

Krok 4. Vytvořte init skript pro Nginx.

Nejprve přidejte do systému uživatele Nginx. Toto je jednorázový příkaz:

useradd -r nginx

Musíme nastavit soubor /etc/init.d/nginx spustit při spuštění systému:

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

Nakonec spusťte Nginx:

systemctl restart nginx

Krok 5. Instalace knihovny GeoIP na systém CentOS.

Nyní spusťte následující příkazy pro instalaci knihovny GeoIP

sudo yum install geoip geoip-devel

Po úspěšné instalaci bude knihovna uložena v /usr/share/GeoIP/GeoIP.dat Nejnovější aktualizace si můžete stáhnout zde.

Krok 5. Nakonfigurujte Nginx

Dále nakonfigurujeme hlavní soubor:

nano /etc/nginx/conf/nginx.conf

Přidejte následující soubor:

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

Poté nakonfigurujeme virtuálního hostitele Nginx:

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

Přidejte následující řádek:

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
}
[...]
}

Výše uvedená konfigurace bude akceptovat všechny IP adresy a zakáže pouze China IP (CN). O kódu země v databázi GeoIP se můžete podívat zde.

Blahopřejeme! Úspěšně jste nainstalovali Nginx With GeoIP Module. Děkujeme, že jste použili tento návod k instalaci modulu Nginx With GeoIP Module na systém Linux. Pro další pomoc nebo užitečné informace vám doporučujeme navštívit oficiální Web Nginx.


Cent OS
  1. Jak nainstalovat WordPress s Nginx na CentOS 7

  2. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7 / RHEL 7

  3. Jak nainstalovat Sitemagic CMS na CentOS 7 – s Nginx

  1. Jak nainstalovat phpMyAdmin s Nginx na CentOS 7

  2. Jak nainstalovat Nginx s modulem RTMP na CentOS 7

  3. Jak nainstalovat SuiteCRM s Nginx na CentOS 7

  1. Jak nainstalovat MediaWiki s Nginx na CentOS 7

  2. Jak nainstalovat MediaWiki s Nginx na Ubuntu 16.04

  3. Jak nainstalovat Magento s Nginx na Ubuntu 15.10