所谓GeoIP,就是通过来访者的IP, 定位他的经纬度,国家/地区,省市,甚至街道等位置信息。这里面的技术不算难题,关键在于有个精准 的数据库。有了准确的数据源就奇货可居赚点小钱,可是发扬合作精神,集体贡献众人享用是我们追求的。
这个是从网络上摘抄来的定义,实际可以理解成一个IP和地理位置对应的数据表。GeoIp的数据库有收费和免费版本,他们都有在做更新维护,为了使我们使用的数据更加精确,我们也应该定期的去升级我们使用的二进制的数据库文件:
#!/bin/bash #判断是否存在存放GeoIP数据库的目录,没有则创建(实际目录路径请酌情处理) if [ ! -d /usr/local/share/GeoIP ];then mkdir /usr/local/share/GeoIP fi #从官网下载免费的国际和城市数据库文件 wget -t 5 -O /tmp/GeoIP.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz wget -t 5 -O /tmp/GeoLiteCity.dat.gz http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz #解压压缩的数据库文件 gzip -df /tmp/GeoIP.dat.gz gzip -df /tmp/GeoLiteCity.dat.gz #移动数据库文件到存放的目的目录 mv -f /tmp/Geo*.dat /usr/local/share/GeoIP/
将以上的文件编写为一个脚本(比如:update_geoip.sh),别忘记加可执行权限(chmod +x update_geoip.sh)。
然后设定为每周更新一次:
### update Geoip databases 0 0 * * 0 /root/update_geoip.sh