In diesem Tutorial zeigen wir Ihnen, wie Sie Nginx mit dem GeoIP-Modul auf CentOS installieren. Für diejenigen unter Ihnen, die es nicht wussten, das Nginx GeoIP-Modul für Länder- und Stadt-Geo-Targeting kann in wenigen einfachen Schritten installiert werden. Es bringt Ihnen eine Geo-Targeting-Ebene, mit der Sie einige Teile Ihrer Websites anzeigen oder sogar den Datenverkehr nach dem geografischen Standort der Endbenutzer aufteilen können. Standardmäßig, wenn Sie Module von yum installieren , Nginx wird nicht mit dem GeoIP-Modul geliefert (Dies ist das Modul:HttpGeoipModule), also werden wir von der Quelle installieren und das Modul aktivieren.
Dieser Artikel geht davon aus, dass Sie zumindest über Grundkenntnisse in Linux verfügen, wissen, wie man die Shell verwendet, und vor allem, dass Sie Ihre Website auf Ihrem eigenen VPS hosten. Die Installation ist recht einfach und setzt Sie voraus im Root-Konto ausgeführt werden, wenn nicht, müssen Sie möglicherweise 'sudo
hinzufügen ‘ zu den Befehlen, um Root-Rechte zu erhalten. Ich zeige Ihnen Schritt für Schritt die Installation des Nginx With GeoIP-Moduls auf dem CentOS-System.
Nginx mit GeoIP-Modul installieren
Schritt 1. Beginnen wir zunächst damit, sicherzustellen, dass Ihr System auf dem neuesten Stand ist.
sudo yum install epel-release sudo yum update
Schritt 2. Die Installation aller erfordert Abhängigkeit.
Now install erfordert ein Paket zum Kompilieren:
yum install gcc-c++ pre pcre-devel zlib zlib-devel -y
Schritt 3. Nginx herunterladen und installieren.
Jetzt laden wir die neueste stabile Version von Nginx von hier herunter und erstellen sie mit GeoIP-Modulunterstützung.
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
Sobald die Kompilierung abgeschlossen ist, installieren Sie als nächstes Nginx mit dem folgenden Befehl:
make make install
Schritt 4. Erstellen Sie ein Init-Skript für Nginx.
Fügen Sie zuerst den Benutzer Nginx zum System hinzu. Dies ist ein einmaliger Befehl:
useradd -r nginx
Wir müssen die Datei /etc/init.d/nginx
einrichten ausgeführt werden, wenn das System startet:
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
Starten Sie schließlich Nginx:
systemctl restart nginx
Schritt 5. Installieren der GeoIP-Bibliothek auf dem CentOS-System.
Führen Sie nun die folgenden Befehle aus, um die GeoIP-Bibliothek zu installieren
sudo yum install geoip geoip-devel
Nach erfolgreicher Installation wird die Bibliothek in /usr/share/GeoIP/GeoIP.dat
gespeichert Die neuesten Updates können hier heruntergeladen werden.
Schritt 5. Konfigurieren Sie Nginx
Als nächstes konfigurieren wir die Hauptdatei:
nano /etc/nginx/conf/nginx.conf
Fügen Sie die folgende Datei hinzu:
http { [...] geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country { default yes; CN no; } [...] }
Danach konfigurieren wir den virtuellen Nginx-Host:
nano /etc/nginx/conf.d/yourdomain.conf
Fügen Sie die folgende Zeile hinzu:
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 } [...] }
Die obige Konfiguration akzeptiert alle IPs und verbietet nur IP (CN) aus China. Über den Code des Landes in der GeoIP-Datenbank können Sie hier nachlesen.
Herzlichen Glückwunsch! Sie haben Nginx mit GeoIP-Modul erfolgreich installiert. Vielen Dank, dass Sie dieses Tutorial zur Installation von Nginx mit GeoIP-Modul auf dem Linux-System verwendet haben. Für zusätzliche Hilfe oder nützliche Informationen empfehlen wir Ihnen, die offizielle Nginx-Website.