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. 116 - Unidirectional TSP(DP)

    多段图的最短路问题 .  运用了非常多的技巧 :如 记录字典序最小路径 . 细节參见代码: #include<bits/stdc++.h> using namespace std; con ...

  2. 2017.9.15 postgresql批量插入造成冲突后执行更新

    参考来自:https://stackoverflow.com/questions/40647600/postgresql-multi-value-upserts/46233907#46233907 1 ...

  3. 编译和安装在Windows上橡胶树 (Compiling and Installing Yate on Windows)

    编译和安装在Windows上橡胶树     有两种方法来安装橡胶树下窗口: 下载并安装橡胶树 下载后页面设置. 另一个选择是下载橡胶树从SVN并编译它. 内容 ( 隐藏] 1 安装使用设置橡胶树 2  ...

  4. PS 文字有锯齿怎么办

    1 可以在矢量绘图软件里面做,就没有锯齿了,画好之后导入到PS即可. 2 可以把PSD文件的像素值变大一些,比如调成500像素/英寸,但是这样会导致做出来的东西体积比较大,所以最好还是学会矢量绘图.

  5. htmlspecialchars_decode

    htmlspecialchars_decode   htmlspecialchars_decode - 将特殊的 HTML 实体转换回普通字符 htmlspecialchars - 将特殊字符转换为 ...

  6. 【BIEE】10_资料库查看数据报错

    导入元数据后,在资料库右键物理表名,[查看数据]报错: 出现这个问题,没搞明白是为啥- 后来百度意外发现一个方法,修改NQSConfig.INI文件即可解决问题 那么就开始来搞定这个问题 [1]打开路 ...

  7. Hbase笔记3 shell命令

    http://www.jb51.net/article/31172.htm 这个文章写得挺好 1.HBase的shell就和我们用Mysql的终端是一个意思,比如我们安装好Mysql,配置好了环境变量 ...

  8. adb pull adb push

    adb pull:数据从真机到计算机 adb push: 数据从计算机到真机 使用方法: 在android开发环境的sdk--platform tools中安装了adb,在该目录下运行“adb pul ...

  9. smali文件内容具体介绍

    大家都应该知道APK文件其实就是一个MIME为ZIP的压缩包,我们修改ZIP后缀名方式可以看到内部的文件结构,例如修改后缀后用RAR打开鳄鱼小顽皮APK能看到的是(Google Play下载的完整版版 ...

  10. curl测试Docker容器连通性

    通过curl来测试docker对外访问是否正常,这里测试Docker tomcat容器访问: [root@mysqlserver ~]# curl http://172.17.0.8:8080 < ...