安装 MaxMind 的 GeoIP 库

Eave 2015.09.13 10:01

一、安装GeoIP库

MaxMind 提供了免费的 IP 地域数据库(GeoIP.dat),不过这个数据库文件是二进制的,需要用 GeoIP 库来读取,所以除了要下载 GeoIP.dat 文件外(见下一步),还需要安装能读取这个文件的库。

MaxMind 提供了免费的 IP 地域数据库,这个数据库是二进制的,不能用文本编辑器打开,需要上面的 GeoIP 库来读取

$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
$ wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
$ wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
$ tar -zxf GeoIP.tar.gz
$ cd GeoIP-1.4.8
$ ./configure
$ make && make install

刚才安装的库自动安装到/usr/local/lib下,所以这个目录需要加到动态链接配置里面以便运行相关程序的时候能自动绑定到这个GeoIP库

$ echo '/usr/local/lib' > /etc/ld.so.conf.d/geoip.conf
$ ldconfig

二、安装 Nginx

因为要用到http_geoip_module模块,系统自带的nginx一般不带这个模块,所以要下载nginx源代码后自行编译(--with-http_geoip_module)

参考地址:http://nginx.org/en/docs/http/ngx_http_geoip_module.html

三、配置Nginx

最后是配置nginx,在相关地方加上如下的配置就可以了

http
geoip_country                        GeoIP/GeoIP.dat;
geoip_city                           GeoIP/GeoLiteCity.dat;

fastcgi_param GEOIP_COUNTRY_CODE     $geoip_country_code;
fastcgi_param GEOIP_CITY             $geoip_city;