实战CentOS7上使用nginx使用GeoIP2判断国内IP

后台-系统设置-扩展变量-内容页广告位一(手机广告位)

                                                     实战CentOS7上使用nginx使用GeoIP2判断国内IP


       起因我个人站有一部分台湾流量,准备做台湾乐天,但是台湾乐天被墙了,国内无法访问,如果挂乐天广告,用户访问网站很慢,因为浏览器加载其他内容请求乐天网站会等待很长时间,比较纠结,不挂浪费流量,挂了国内用户体验很差,最后想用geoip判断国内ip 是否要加载乐天链接。
 

1:安装libmaxminddb  ,

https://github.com/maxmind/libmaxminddb
备注:本人root用户权限操作
#./configure
# make
# make check
# make install
# ldconfig
# sh -c "echo /usr/local/lib  >> /etc/ld.so.conf.d/local.conf"
# ldconfig

2:加载ngx_http_geoip2_module模块

--add-module=/opt/ngx_http_geoip2_module 
git clone https://github.com/leev/ngx_http_geoip2_module.git
3:ngingx.conf  添加geoip2配置
http{

geoip2 /usr/share/GeoIP2/GeoLite2-Country.mmdb {
    auto_reload 60m;
    $geoip2_metadata_country_build metadata build_epoch;
    $geoip2_data_country_code country iso_code;
    $geoip2_data_country_name country names en;
}geoip2 /usr/share/GeoIP2/GeoLite2-City.mmdb {
    auto_reload 60m;
    $geoip2_metadata_city_build metadata build_epoch;
    $geoip2_data_city_name city names en;
}
}

完成上面操作,正常已经可以识别国家或者城市ip,需要进一步严重配置是否生效.
办法1:#mmdblookup  --file  /app/nginx/conf/GeoLite2-Country.mmdb --ip 8.8.8.8 查看是否正常识别IP;
办法2:查看error日志是否有报错,把变量$geoip2_data_city_name   $geoip2_data_country_name  添加到定义日志变量里,查看访问日志是否有内容

切记:要先安装libmaxminddb,如果先安装nginx,后期还需要重新编译安装,有问题可以随时留言

下面是效果图

 

未经允许不得转载: 极客adsense分享家 » 实战CentOS7上使用nginx使用GeoIP2判断国内IP

后台-系统设置-扩展变量-内容页广告位二(手机广告位)
赞 ()
后台-系统设置-扩展变量-内容页广告位三(手机广告位)

相关推荐

后台-系统设置-扩展变量-内容页广告位四(手机广告位)
后台-系统设置-扩展变量-内容页广告位五(手机广告位)

评论

留言与评论(共有 0 条评论)
   
验证码: