1. 编译nginx时带上geoip模块

# wget http://nginx.org/download/nginx-x.x.x.tar.gz
# tar zxvf nginx-x.x.x.tar.gz
# cd nginx-x.x.x
# ./configure --with-http_geoip_module 其余编译选项请自行填补
# make; make install

2. 下载可以读取GeoIP数据库的工具

# wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
# tar -zxvf GeoIP.tar.gz
# cd GeoIP-1.4. 注意这个解压出的版本随时在变,我解压时,是1..8版本的
# ./configure
# make; make install

上面的操作,将工具安装到了/usr/local/lib目录下,我们需要让其生效。

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

3. 下载GeoIP数据库

# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
# gunzip GeoIP.dat.gz
# mkdir /usr/local/share/GeoIP
# mv GeoIP /usr/local/share/GeoIP/

4. 配置nginx,使其能够使用GeoIP库

# vi /etc/nginx/nginx.conf

geoip_country /usr/local/share/GeoIP/GeoIP.dat;

fastcgi_param GEOIP_COUNTRY_CODE $geoip_country_code;
fastcgi_param GEOIP_COUNTRY_CODE3 $geoip_country_code3;
fastcgi_param GEOIP_COUNTRY_NAME $geoip_country_name;
... if ($geoip_country_code = CN) {
root /data/www/;
}

上面只是简单的使用,更多的知识需要根据实际的情况来自行修改。所以多多看看。

官方站点:http://nginx.org/en/docs/http/ngx_http_geoip_module.html

Nginx结合GeoIP库的更多相关文章

  1. 使用 Nginx 和 GeoIP 模块来处理不同国家的访问

    安装 Nginx因为要用到 http_geoip_module 模块,系统自带的 nginx 一般不带这个模块,所以要下载 nginx 源代码后自行编译: # wget http://nginx.or ...

  2. Logstash利用GeoIP库显示地图以及通过useragent显示浏览器(四)

    我们通过Logstash收集的Nginx Access log中已经包含了客户端IP的数据(remote_addr),但是只有这个IP还不够,要在Kibana的显示请求来源的地理位置还需要借助GeoI ...

  3. Logstash利用GeoIP库显示地图以及通过useragent显示浏览器(

    http://www.nibayuan.com/articles/2016/02/23/elk-logstash-geoip-kibana-tilemap.html 我们通过Logstash收集的Ng ...

  4. nginx应用geoip模块,实现不同地区访问不同页面的需求(实践版)

    https://www.52os.net/articles/configure-nginx-using-geoip-allow-whitelist.html       搞了几天没有搞定,这篇文章一下 ...

  5. Nginx使用GeoIP模块来限制地区访问

    举例比如限制泰国地区的IP访问: 前提条件,安装了http geoip 或stream geoip模块的Nginx Plus或者开源nginx Maxmind的GeoLite Legacy数据库 1. ...

  6. nginx之Geoip读取地域信息模块

    1 geoip_module模块 基于IP地址匹配MaxMind GeolP二进制文件,读取IP所在地域信息. yum install nginx-module-geoip geoip2已经有了,安装 ...

  7. 使用Hive UDF和GeoIP库为Hive加入IP识别功能

    Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析.处理有着非常大的 意义.GeoIP是一套IP映射数据库,它定时更新,并且提供了 ...

  8. (转)使用Hive UDF和GeoIP库为Hive加入IP识别功能

    Hive是基于Hadoop的数据管理系统,作为分析人员的即时分析工具和ETL等工作的执行引擎,对于如今的大数据管理与分析.处理有着非常大的 意义.GeoIP是一套IP映射数据库,它定时更新,并且提供了 ...

  9. Linux 安装 nginx 安装PCRE库

    PCRE(Perl Compatible Regular Expressions)是一个Perl库,包括 perl 兼容的正则表达式库.这些在执行正规表达式模式匹配时用与Perl 5同样的语法和语义是 ...

随机推荐

  1. java中map的应用

    map是键值对的集合接口,需要存储两个字段有联系的字段时可以使用这个. 1.查找字符串数组重复次数最多的字符串的重复次数 思路:使用map键值对存储,key值存数字符串,value存储出现的次数 Ma ...

  2. rsync数据同步工具的配置

    rsync数据同步工具的配置 1. rsync介绍 1.1.什么是rsync rsync是一款开源的快速的,多功能的,可实现全量及增量的本地或远程数据同步备份的优秀工具.Rsync软件适用于 unix ...

  3. Transportation poj1040

    Ruratania is just entering capitalism and is establishing new enterprising activities in many fields ...

  4. VirtualBox修改现有虚拟磁盘大小

    VirtualBox装Ubuntu下载Android源代码分配的磁盘空间不够,修改磁盘大小必须进入VirtualBox安装目录使用VBoxmanager修改,执行: vboxmange modifyh ...

  5. webstorm定位如何在代码后面?

    写代码的时候定位总是在任意一点,而不是在代码的最后面. 以至于写代码的时候总会莫名其妙出现很多空格之类的奇怪报错. 取消图中选项

  6. Android学习(九) SharedPreferences

    一.SharedPreferences:一种清醒的存储方式,基于XML存储key-value键值对方式的数据. SharedPreferences对象本身只能获取数据,而不能存储和修改数据,存储修改只 ...

  7. foreach 加& 什么意思?

    foreach 加&遍历的同时改变原数组即修改数据或者增加数据 foreach 加& 什么意思? 注意:如果我要改变数组某一个值 直接遍历的话原数组是不会变的 下面提供两种方法 1.我 ...

  8. (CF#257)A. Jzzhu and Children

    There are n children in Jzzhu's school. Jzzhu is going to give some candies to them. Let's number al ...

  9. Eclipse.ini参数设置

    最近Eclipse不知道是由于项目过多还是其他原因导致Eclipse进程容易卡死,一卡死Workspace保存出错,项目就全都不见了,又得重新导入...鉴于此原因,自己也上网查询了相关资料,现整理如下 ...

  10. PHP面试题及答案解析(2)—PHP面向对象

    1. 写出 php 的 public.protected.private 三种访问控制模式的区别. public:公有,任何地方都可以访问protected:继承,只能在本类或子类中访问,在其它地方不 ...