前文:

最近在研究nginx如何集成geo模块来实现IP自动识别从而进行地区屏蔽的内容。但是度娘N篇文章,发现大家都在转载很久之前的东西。geo1.0官方都不提供下载了,不知道那些小伙伴是怎么实现模块按照和IP库下载的。这个就不互相伤害了,如何集成最新版的geoip2直接继续浏览即可。

1.nginx下载最新版

过程略。

2.下载依赖软件

2.1 geoip2核心识别库

安装步骤:

wget https://github.com/maxmind/libmaxminddb/releases/download/1.3.2/libmaxminddb-1.3.2.tar.gz
tar -xzf libmaxminddb-1.3.2.tar.gz
cd libmaxminddb-1.3.2
./configure
make
make check
sudo make install
sudo ldconfig

2.2 geoip2-nginx模块

下载地址:

https://github.com/TravelEngineers/ngx_http_geoip2_module

nginx集成步骤:

./configure --prefix=/appx/nginx-geoip --with-http_stub_status_module --with-pcre=/appx/nginx-geoip/source/pcre-8.38 --with-http_realip_module --with-http_gzip_static_module --with-http_ssl_module --with-openssl=/appx/nginx-geoip/source/openssl-1.0.2o --add-module=/appx/nginx-geoip/source/ngx_http_geoip2_module-3.2
make
make install

geoip2 IP地址库下载:

下载地址:https://dev.maxmind.com/geoip/geoip2/geolite2/

注意GeoLite2 City 和GeoLite2 Country 2个文件都要下载。

下载选择:MaxMind DB binary, gzipped

样例配置(nginx):

#IP地址库解析映射
geoip2 /app/nginx-geoip/geoip_db/GeoLite2-Country_20190521/GeoLite2-Country.mmdb {auto_reload 5m;$geoip2_metadata_country_build metadata build_epoch; #变量名可以自定义$geoip2_country_code default=US country iso_code;$geoip2_country_name country names zh-CN;}geoip2 /app/nginx-geoip/geoip_db/GeoLite2-City_20190521/GeoLite2-City.mmdb {$geoip2_city_name default=ShangHai city names zh-CN;$geoip2_continent_code continent code;}location /myip {default_type text/plain;return 200 "$remote_addr $geoip2_city_name $geoip2_country_code $geoip2_continent_code";}

2.3 进阶介绍

变量$geoip2_continent_code 可以自己指定任意名称,

注意  $geoip2_country_name country names zh-CN;

代表寻找country_name 这个字段,且是在中文名称的IP库中寻找。

如果某个字段并非多语言支持的,则不能写zh-CN。

所有字段名称可以在CSV格式的文件中找到,如果你要取city_code 当前IP这个字段的值,则可以按照、如下设置获取:

$geoip2_city_code city code;

COUNTRY和CITY库里面的字段不是全部一样,感兴趣的可以下载CSV格式GEOIP库进行研究。

Nginx集成GeoIP2模块实现地区识别与屏蔽相关推荐

  1. html判断国家,nginx通过geoip2模块实现判断用户来源国家跳转中英站

    ip数据库文件下载地址:https://dev.maxmind.com/geoip/geoip2/geolite2/ 编译nginx添加第二代geoip2模块,第一代自带 的–with-http_ge ...

  2. Nginx集成FastDFS模块实现图片上传

    提示:如果在这里还没有安装Fastdfs的话可以参考:censtos下安装FastDFS 一.FastDFS的Nginx模块 资料: https://pan.baidu.com/s/14YQCvuMI ...

  3. 烂泥:php5.6源码安装及php-fpm配置与nginx集成

    本文由秀依林枫提供友情赞助,首发于烂泥行天下. LNMP环境的搭建中,现在只有php没有源码安装过.这篇文章就把这个介绍下. 注意本篇文章使用的centos 6.5 64bit. 登陆centos下载 ...

  4. Nginx 基于nginx-sticky-module模块进行会话保持

    sticky介绍 sticky模块与Ip_hash都是与负载均衡算法相关,但又有差别,差别是 1.ip hash,根据客户端的IP,将请求分配到不同的服务器上 2.sticky,根据服务器给客户端的c ...

  5. nginx利用ngx_http_geoip2_module模块对国外ip限制

    1. 安装必要的环境 yum -y install gcc gcc-c++ automake pcre pcre-devel zlib zlib-devel openssl openssl-devel ...

  6. 烂泥行天下 php,烂泥:php5.6源码安装及php-fpm配置与nginx集成

    本文首发于烂泥行天下. LNMP环境的搭建中,现在只有php没有源码安装过.这篇文章就把这个介绍下. 注意本篇文章使用的centos 6.5 64bit. 登陆centos下载php5.6的安装包.p ...

  7. 魔坊APP项目-17-种植园,商城页面、服务端提供商品api,解决App打包编译以后的跨域限制、客户端获取商品列表并进行展示,集成Alipayplus模块完成支付

    种植园 一.商城页面 orchard.html,代码: <!DOCTYPE html> <html> <head><title>用户中心</tit ...

  8. STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板

    STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板 STM32F103C8T6 LD3320语音识别模块非特定识别人声 离线控制 智能家居 开发板 测试单片 ...

  9. java centos 缩略图_使用 Nginx 的 image_filter 模块来构建动态缩略图服务器

    原标题:使用 Nginx 的 image_filter 模块来构建动态缩略图服务器 在以前我们实现缩略图机制通常是在当用户上传一张图片后,后端程序会固定将图片生成前端页面需要的不同大小缩略图.不管前端 ...

最新文章

  1. Android程序员的技术要求和学习路线
  2. php 自动生成查询密码,PHP自动生成随绝密码
  3. 20145305 《信息安全系统设计基础》第6周学习总结
  4. [蓝桥杯2018决赛]迷宫与陷阱
  5. Spring集成Mybatis多数据源配置
  6. java开发技术有什么意义,零基础学Java开发技术有哪些优势和好处?
  7. 重读经典:完全解析特征学习大杀器 ResNet
  8. Linux综合练习——课件分发
  9. MySQL8增量备份1008无标题_mysql增量备份
  10. MATLAB LSTM多输入多输出 模式分类 示例解析(含代码)
  11. python基于Suprise模块构建推荐算法模型,实现电影、书籍等资源的推荐
  12. Win10控制面板打不开怎么办?
  13. 网络安全必会的基础知识
  14. Godot官网新闻翻译 - 2015年
  15. python实训报告万能模板_(完整word版)实训报告万能模板
  16. laravel validate 验证器
  17. Swift_代码混淆
  18. 【Android】你可能还不知道的elevation、以及Z值等
  19. 幕客学习CSS3全面基础知识点
  20. JMockit 如何 mock 异常

热门文章

  1. 解决换Macbook M1芯片之后,IDEA很卡问题
  2. 人机混合智能的哲学思考
  3. echart绘制海南地图时增加南海诸岛显示(现成geojson数据)
  4. 美团云:迈出云服务一大步
  5. 25岁西装男子地铁痛哭:成年人的崩溃,都是从缺钱开始的
  6. js,html,java文件压缩,pdf转word,图片等
  7. VB中关于Dim与Redim的应用
  8. weex移动端的那些坑(更新中)
  9. pycharm 导包时不小心选择了“Ignore unresolved reference“
  10. 大学迷茫时,不妨来看看(励志)