このチュートリアルでは、CentOSにNginx With GeoIPモジュールをインストールする方法を説明します。知らない人のために、国や都市のジオターゲティング用のNginxGeoIPモジュールを使用できます。いくつかの簡単な手順でインストールできます。ジオターゲティングレイヤーを使用して、ウェブサイトの一部を表示したり、エンドユーザーの地理的な場所に応じてトラフィックを分割したりできます。デフォルトでは、yumからモジュールをインストールする場合、NginxにはGeoIPモジュール(これはモジュール:HttpGeoipModule)が付属していないため、ソースからインストールし、モジュールをアクティブにします。
この記事は、少なくともLinuxの基本的な知識があり、シェルの使用方法を知っていること、そして最も重要なこととして、サイトを独自のVPSでホストしていることを前提としています。インストールは非常に簡単で、ルートアカウントで実行されていますが、そうでない場合は、'sudo
を追加する必要があります。 ルート権限を取得するコマンドに‘。 CentOSシステムにNginxWithGeoIPモジュールを段階的にインストールする方法を説明します。
GeoIPモジュールを使用してNginxをインストール
ステップ1.まず、システムが最新であることを確認することから始めましょう。
sudo yum install epel-release sudo yum update
ステップ2.すべてをインストールするには依存関係が必要です。
インストールにはコンパイル用のパッケージが必要です:
yum install gcc-c++ pre pcre-devel zlib zlib-devel -y
ステップ3.Nginxをダウンロードしてインストールします。
ここから、最新の安定バージョンのNginxをここからダウンロードし、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
コンパイルが完了したら、次に次のコマンドを使用してNginxをインストールします:
make make install
ステップ4.Nginxのinitスクリプトを作成します。
まず、ユーザーNginxをシステムに追加します。これは1回限りのコマンドです:
useradd -r nginx
ファイル/etc/init.d/nginx
を設定する必要があります システムの起動時に実行するには:
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
最後に、Nginxを起動します:
systemctl restart nginx
ステップ5.CentOSシステムにGeoIPライブラリをインストールします。
次に、次のコマンドを実行してGeoIPライブラリをインストールします
sudo yum install geoip geoip-devel
インストールが正常に完了すると、ライブラリは/usr/share/GeoIP/GeoIP.dat
に保存されます。 最新のアップデートについては、こちらからダウンロードできます。
ステップ5.Nginxを構成する
次に、メインファイルを構成します:
nano /etc/nginx/conf/nginx.conf
次のファイルを追加します:
http { [...] geoip_country /usr/share/GeoIP/GeoIP.dat; map $geoip_country_code $allowed_country { default yes; CN no; } [...] }
その後、Nginx仮想ホストを構成します:
nano /etc/nginx/conf.d/yourdomain.conf
次の行を追加します:
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 } [...] }
上記の構成では、すべてのIPが受け入れられ、中国IP(CN)からのみ禁止されます。GeoIPデータベースにある国のコードについては、こちらを参照してください。
おめでとうございます!Nginx With GeoIPModuleが正常にインストールされました。LinuxシステムにNginxWithGeoIP Moduleをインストールするためにこのチュートリアルを使用していただき、ありがとうございます。追加のヘルプや役立つ情報については、公式を確認することをお勧めしますNginxのWebサイト。