1.nginx 下载最新版
过程略。
2.下载依赖软件
2.1 geoip2 核心识别库
安装步骤:
wget https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz
tar -xzf libmaxminddb-1.3.2.tar.gz
cd libmaxminddb-1.3.2
./configure
make
make check
sudo make install
sudo ldconfig
2.2 geoip2-nginx 模块
下载地址:
https://github.com/TravelEngineers/ngx_http_geoip2_module
nginx 集成步骤:
./configure --prefix=/appx/nginx-geoip --with-http_stub_status_module --with-pcre=/appx/nginx-geoip/source/pcre-8.38 --with-http_realip_module --with-http_gzip_static_module --with-http_ssl_module --with-openssl=/appx/nginx-geoip/source/openssl-1.0.2o --add-module=/appx/nginx-geoip/source/ngx_http_geoip2_module-3.2
make
make install
geoip2 核心库下载:
下载地址:https://dev.maxmind.com/geoip/geoip2/geolite2/
注意 GeoLite2 City 和 GeoLite2 Country 2 个文件都要下载。
下载选择:MaxMind DB binary, gzipped
样例配置(nginx):
geoip2 /app/nginx-geoip/geoip_db/GeoLite2-Country_20190521/GeoLite2-Country.mmdb {
auto_reload 5m;
$geoip2_metadata_country_build metadata build_epoch;
$geoip2_country_code default=US country iso_code;
$geoip2_country_name country names zh-CN;
}
geoip2 /app/nginx-geoip/geoip_db/GeoLite2-City_20190521/GeoLite2-City.mmdb {
$geoip2_city_name default=ShangHai city names zh-CN;
$geoip2_continent_code continent code;
}
location /myip {
default_type text/plain;
return 200 "$remote_addr $geoip2_city_name $geoip2_country_code $geoip2_continent_code";
}
2.3 进阶介绍
变量 $geoip2_continent_code 可以自己指定任意名称,
注意 $geoip2_country_name country names zh-CN;
代表寻找 country_name 这个字段,且是在中文名称的 IP 库中寻找。如果某个字段并非多语言支持的,则不能写 zh-CN。
所以字段名称可以在 CSV 格式的文件中找到,如果你要取 city_code 当前 IP 这个字段的值,则可以按照、如下设置获取:
$geoip2_city_code city code;
COUNTRY 和 CITY 库里面的字段不是全部一样,感兴趣的可以下载 CSV 格式 GEOIP 库进行研究。
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于