geoip是什么 linux_GeoIP安装使用
GeoIP,是一套含IP数据库的软件工具。
Geo根据来访者的IP, 定位该IP所在经纬度、国家/地区、省市、和街道等位置信息。
GeoIP有两个版本,一个免费版,一个收费版本。
收费版本的准确率高一些,更新频率也更频繁。
因为GeoIP读取的是本地的二进制IP数据库,所以效率很高,比从APNIC读取再转换高很多。
PHP支持通过扩展方式读取GeoIP数据。
本文介绍CentOS和Ubuntu系统的安装和使用方法。
1 安装GeoIP
命令方式安装:
yum install geoip geoip-devel # CentOS
apt-get install php5-geoip php5-dev libgeoip-dev # Ubuntu
或者通过源码方式安装,两者选择其一:
GeoIP安装完成后,IP库文件会安装在这个目录下:/usr/share/GeoIP。
2 安装geoip扩展
编译成动态库:
$ wget https://pecl.php.net/get/geoip-1.1.1.tgz
$ cd geoip-1.1.1
$ phpize
$ ./configure
$ make
$ sudo make install
安装完成后,在/usr/lib64/php/modules/目录下(64位系统)生成geoip.so链接库。
打开php.ini文件,在最后加上:
extension=geoip.so
重启PHP-FPM就可以用了。
3 PHP中使用
示例:
$data = geoip_record_by_name('php.net');
print_r($data);
输出:
Array
(
[continent_code] => NA
[country_code] => US
[country_code3] => USA
[country_name] => United States
[region] => CA
[city] => Milpitas
[postal_code] => 95035
[latitude] => 37.440399169922
[longitude] => -121.87049865723
[dma_code] => 807
[area_code] => 408
)
4 更新IP库
GeoIP默认使用Maxmind提供的IP库,这可以用geoip_database_info()方法看到。
例如我的显示:
GEO-106FREE 20170404 Build 1 Copyright (c) 2017 MaxMind Inc All Rights Reserved
Maxmind提供的IP库会在每个月的第一个星期二更新一次,所以我们在此时间后一天执行更新就能拿到最新的APNIC的IP库了。
首先查看是否有文件:/etc/GeoIP.conf。
如果没有,就创建一个,内容:
# The following UserId and LicenseKey are required placeholders:
UserId 999999
LicenseKey 000000000000
# Include one or more of the following ProductIds:
# * GeoLite2-City - GeoLite 2 City
# * GeoLite2-Country - GeoLite2 Country
# * GeoLite-Legacy-IPv6-City - GeoLite Legacy IPv6 City
# * GeoLite-Legacy-IPv6-Country - GeoLite Legacy IPv6 Country
# * 506 - GeoLite Legacy Country
# * 517 - GeoLite Legacy ASN
# * 533 - GeoLite Legacy City
ProductIds GeoLite2-City GeoLite2-Country GeoLite-Legacy-IPv6-City GeoLite-Legacy-IPv6-Country 506 517 533
然后在Linux下手动执行一遍更新命令:
geoipupdate -v
如果没有出错,就完成更新GeoIP库了。
4.1 crontab自动更新IP库
我们可以使用Linux crontab可以实现自动更新IP库。
使用如下命令打开当前用户的crontab文件:
crontab -e
添加一行:
30 2 * * 3#1 /usr/bin/geoipupdate
这一段的功能是,在每个月第一个星期三自动执行 geoipupdate 命令,执行时间在凌晨2点30分。
因为Maxmind是每月的第一个星期二更新IP库,所以我们选择延迟一点,避免时差引起误差。
然后重启 crond:
/sbin/service crond restart
如果有防火墙,geoipupdate需要 DNS 和HTTPS(443)端口打开。
4.2 手动更新IP库
如果用PHP更新,让PHP执行SHELL命令执行更新:
echo shell_exec('geoipupdate -v');
执行完成会打印出更新的相关信息。
如果不需要输出信息可以去掉-v参数。
有用地址:
geoip是什么 linux_GeoIP安装使用相关推荐
- geoip是什么 linux_GeoIP最快捷安装
下载GeoIP数据包 mkdir /GeoIP cd /GeoIP wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCou ...
- RHEL 5.4 下安装和使用 ntop 全纪录(ntop:Linux下可通过Web访问的网络流量监控工具)...
RHEL 5.4 下安装和使用 ntop 全纪录 1. ntop介绍 Ntop是一种监控网络流量工具,用ntop显示网络的使用情况比其他一些网络管理软件更加直观.详细.Ntop甚至可以列出每个节点计算 ...
- CYGwin/Centos7下安装Goaccess
cd .. cd root/opt $ wgethttp://tar.goaccess.io/goaccess-1.1.1.tar.gz $ tar -xzvf goaccess-1.1.1.tar. ...
- nginx 访问日志分析工具 goacess
2019独角兽企业重金招聘Python工程师标准>>> 20150702 nginx 访问日志分析 goacess 1.安装GoAccess需要一些系统支持库 yum install ...
- CentOS 6.5 Nginx 配置
1.安装所有 http功能: ./configure --user=www-data --group=www-data --with-http_ssl_module --with-http_reali ...
- c语言中有关随机数的程序,C语言中随机数相关问题
用C语言产生随机数重要用到rand函数.srand函数.及宏RAND_MAX(32767),它们均在stdlib.h中进行了声明. int rand(void);//生成一个随机数 voidsrand ...
- nginx做地域限制
转:https://blog.csdn.net/linux_newbie_rookie/article/details/78663721 对网页访问nginx做地域限制: 对国家地区或者是城市的限制通 ...
- 如何通过命令行查找一个IP的地理位置信息
转载地址:http://www.geekfan.net/7863/ 如果你想查找一个IP地址在地球上的实际地理位置,现在已经有好多在线的GeoIp查找服务你可以利用(例如geoiptool.com). ...
- 局域网网络流量监控_Linux网络安全运维:网络流量监控与分析工具Ntop和Ntopng
一次性付费进群,长期免费索取教程,没有付费教程. 进微信群回复公众号:微信群:QQ群:460500587 教程列表 见微信公众号底部菜单 | 本文底部有推荐书籍 微信公众号:计算机与网络安全 I ...
最新文章
- python数据处理与机器学习
- VMware vSAN紧盯虚拟化应用
- 职业生涯发展技巧20则
- 通过Spring将继承树加载到List中
- JavaScript:Browser 对象
- JQuery中使用Ajax赋值给全局变量失败异常的解决方法,jqueryajax
- Nginx服务器之负载均衡策略(6种)
- 第二次打开不是最大_第二次约会男生该干嘛,才能让关系更进一步?
- Java-Hashmap
- 小程序入门学习07--动态设置标题、转发
- java 删除列 csv,Java- CSV / Delete column in csv file
- 笔记3:数字和数学计算
- MySQL查询数据库日志的查询
- 【人脸关键点】——PFLD人脸关键点检测解读
- 【Opencv】图像分割——区域生长
- 一阶电路误差分析_自动控制原理 | 时域分析法
- 【宽创热点】为什么博物馆要展示古代糕点和比基督更古老的牛肉
- spring tx:advice(转)
- 离心泵水力设计——叶轮设计——2 前后盖板型线
- html网页页尾,终于认识网页页尾设计注意技巧
热门文章
- windows7内存诊断工具有用吗_开机windows内存诊断工具怎么打开_win7开机出现内存诊断工具如何使用...
- Oracle从11g导出后导入10g
- linux 查看目录挂载的ip,基于IP-SAN的存储Linux挂载
- 全国农村固定观察点调查数据
- 技巧分享:我的VM黑群晖安装及独特网络访问方案
- [心静不下来系列]bugku web继续 (带了标题)
- 2021年3月蓝桥杯STEMA考试正在报名
- IIS配置禁用匿名访问
- 【20211106】在技术上是如何实现分布式事务_V3(TCC)
- 湖师大2022考研复试准备