相信做过awstats的都用过开源的geoip.dat ip数据库,刚好nginx wiki上有geoip 模块,这样就可以实现地区性的负载均衡,但是maxmind 的ip数据库对中国的支持不算太好,不过现在也不错了~
参考文章:http://wiki.nginx.org/NginxHttpGeoIPModule
说下我的环境,我有一台美国linux 服务器,一台美国的windows 2003 ,一台本的XP。机器,其他测试用户都是,QQ群里的朋友,好了开始测试
linux : 75.125.x.x //美国
win2003 : 74.55.x.x // 美国
XP :localhost // 北京
测试转发,美国用户~转发到 www.google.cn
电信转发到 我的一台 公网的 apache 默认页面
网通转发到 我的一台 公网业务服务器!!
1.下载安装nginx.
shell $> get http://sysoev.ru/nginx/nginx-0.8.13.tar.gz
shell $> tar zxvf nginx-0.8.13.tar.gz
shell $> cd nginx-0.8.13
shell $>apt-get install libgeoip-dev
shell $> ./configure --prefix=/usr/local/nginx --with-http_flv_module --user=www --group=www --with-http_gzip_static_module --with-http_geoip_module
shell $> make
shell $> make install
2.下载GeoLiteCity.dat.gz 数据库~
shell $> wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
shell $> gzip -d GeoLiteCity.dat.gz
shell $> mv GeoLiteCity.dat /usr/local/nginx/conf/GeoLiteCity.dat
3.修改配置文件实现 地区性质负载
shell $> cd /usr/local/nginx/conf
shell $> cat nginx.conf
worker_processes 1;
events {
worker_connections 1024;
}
http {
include mime.types;
default_type application/octet-stream;
geoip_city GeoLiteCity.dat;
upstream wangtong {
server 59.151.X.X;
}
upstream dianxin {
server 75.125.X.X;
}
upstream USA {
server www.google.cn;
}
sendfile on;
keepalive_timeout 65;
server {
listen 80;
server_name 75.125.197.200;
root html;
index index.html index.htm;
location / {
if ($geoip_region ~ "(01|02|03|04|06|07|11|13|14|15|16|21|23|29|30|31|32|33)") {
proxy_pass http://dianxin$request_uri;
}
if ($geoip_region ~ "(05|08|09|10|12|17|18|19|20|24|25|26)") {
proxy_pass http://wangtong$request_uri;
}
if ($geoip_city_country_code ~ "US") {
proxy_pass http://USA$request_uri;
}
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root html;
}
}
}
4.测试,用不同地方的机器做测试~
我是北京用户,访问
我是北京用户访问的是默认页面是因为我没有 把 22 数字填加到 配置文件里。我是为了方便测试!大家要是用在生产上要把 22加到
if ($geoip_region ~ "(05|08|09|10|12|17|18|19|20|24|25|26)")
没有匹配到,就访问了默认页面~~
成都朋友帮忙访问:
广州的朋友帮忙访问:
河北朋友帮忙访问:
美国 win2003 访问:
直接访问 电信的 服务器 和 网通服务器
59.151.X.X; 75.125.X.X;
直接访问 网通 59.151.X.X
直接访问 电信服务器 75.125.X.X
下面我来解释一下
if ($geoip_region ~ "(01|02|03|04|06|07|11|13|14|15|16|21|23|29|30|31|32|33)")
这些数字代表的是中国省份地区~~
表如下:
CN,01,"Anhui"
CN,02,"Zhejiang"
CN,03,"Jiangxi"
CN,04,"Jiangsu"
CN,05,"Jilin"
CN,06,"Qinghai"
CN,07,"Fujian"
CN,08,"Heilongjiang"
CN,09,"Henan"
CN,10,"Hebei"
CN,11,"Hunan"
CN,12,"Hubei"
CN,13,"Xinjiang"
CN,14,"Xizang"
CN,15,"Gansu"
CN,16,"Guangxi"
CN,18,"Guizhou"
CN,19,"Liaoning"
CN,20,"Nei Mongol"
CN,21,"Ningxia"
CN,22,"Beijing"
CN,23,"Shanghai"
CN,24,"Shanxi"
CN,25,"Shandong"
CN,26,"Shaanxi"
CN,28,"Tianjin"
CN,29,"Yunnan"
CN,30,"Guangdong"
CN,31,"Hainan"
CN,32,"Sichuan"
CN,33,"Chongqing"
GeoLiteCity.dat 更多变量请看 wiki 我这里只用到两个变量一个是$geoip_region 一个是$geoip_city_country 第一个是 地区,第二个变量是国家只取 两个字母简写!
geoip_city
syntax: geoip_city path/to/db.dat;
default: none
context: http
The directive indicates the path to the .dat file used for determining countries, regions and cities from IP-address of the client. When set the module makes available the following variables: $geoip_city_country_code; - two-letter country code, for example, "RU", "US". $geoip_city_country_code3; - three-letter country code, for example, "RUS", "USA". $geoip_city_country_name; - the name of the country, for example, "Russian Federation", "United States". $geoip_region; - the name of region (province, region, state, province, federal land, and the like), for example, "Moscow City", "DC". $geoip_city; - the name of the city, for example, "Moscow", "Washington". $geoip_postal_code; - postal code.
PS: 我只是根据南方电信,北方网通来区分的~~ 我是北京用户访问的是默认页面是因为我没有 把 22 数字填加到 配置文件里。我是为了方便测试!大家要是用在生产上要把 22加到
if ($geoip_region ~ "(05|08|09|10|12|17|18|19|20|24|25|26)")
网通里~ 不过 开源的 geoip 还是有些不准确的~~~只能给他 75 分~~
本文出自 “linuxer” 博客,请务必保留此出处http://deidara.blog.51cto.com/400447/198469
相关推荐:
SEO未来:如何在变革中抢占先机,迎接数字营销的新纪元,台州网站建设分析和总结
seo项目是什么,seo是啥 ,ai ued
chatai写作免费一键生成,轻松解决写作难题!,陈逗逗ai换脸在线看
seo网站排名优化哪家好,seo网站优化平台 ,ai斗蟋
seo需要干什么,seo需要具备什么知识 ,ai梦境档案世岛大宅
ChatGPT翻译打不开?解决方法!,ai爱股票
AI网页版智能问答,开启智慧沟通新时代,ai梦境档案用不了手柄
ChatGPT的破解版:AI世界的新突破,ai无禁忌
SEO如何做?全方位解析提升网站排名的秘诀,AI翻译好处
AI免费写文章生成器高效写作新革命
怎么分辨文章是不是AI写的?五大技巧揭开真相
SEO特点与实施策略:提升网站流量与排名的关键,定西抖音seo价格查询
SEO在线服务-让您的网站快速跃升至搜索引擎前列,江西小红书营销推广案例
SEO导航:助力网站提升流量与排名的必备工具,荣昌建筑网站建设
SEO自己:打造属于你的数字营销利器,微信裂变营销推广软件
SEO怎么排名?这5大技巧,轻松提升网站排名,人人都可ai
SEO优化基础:让你的网站脱颖而出的秘密武器,模仿猫ai
SEO部:开启数字化营销新纪元的幕后英雄,株洲营销推广是什么公司
云推SEO:让您的网站在激烈竞争中脱颖而出,网站优化公司欢迎来电
SEO优化顾问:让您的网站脱颖而出的秘密武器,ai ps 群
SEO包月服务:助力企业提升网站排名与流量的长期利器,网站建设流程 报读文库
文章AI生成软件高效创作新纪元
SEO有意:如何通过优化策略提升网站排名与流量,天津政府智慧网站建设
SEM+SEO:助力企业数字化营销的双剑合璧之道,ai头像丑
SEO汇报:如何通过数据分析提升网站排名,助力企业业绩增长,免费推广网站大全百度经验
人工AI软件的未来:智能时代的创新驱动力
优化型网站:提升企业竞争力的必备利器,重庆网站推广工作如何
ChatGPT403:引领人工智能新时代,颠覆你的工作与生活方式,ai nak
SEO怎么做才能提升网站流量与排名?这篇文章给你全攻略,铁岭定制网站推广公司电话
ChatGPT可以实现新闻报道的即时自动化生成,怎么更改ai2的图标
OpenAI推出的GPT-4Turbo大幅降低了AI应用成本,推动了AI技术的普及化,ai*版
SEO超级,助力企业站点冲刺搜索引擎排名,白云全网营销推广哪家强
Chato1免费么?揭开这款AI聊天机器人的神秘面纱,交个朋友ai写作
ChatGPT故障你从未听过的真相,究竟是什么让它偶尔“失灵”?,ai 图片 矢量
SEO导流:如何通过精准优化实现网站流量大爆发,网站优化优化怎么做
SEO刷:让你的网站一夜之间登顶搜索引擎!,独特seo技巧
“收录量为1”,打造数字化时代的独特竞争力,网站建设页面制作流程
什么是seo平台seo教程,什么是 seoseo有何价值 ,论文写作ai助手公众号
GPT哪个模型是最新的?AI语言生成的未来,ai回头
SEO新人必读:从零开始SEO的核心技巧与实践指南,网站邮件推广设计
ChatGPT中文版下载免费版:智能对话新时代,尽在,ai光波
SEO优化全攻略提升网站排名的关键步骤与未来趋势,这是什么新晋动画ai
AI搜索写文章是什么意思?人工智能赋能内容创作的未来,高德地图 ai
GoogleGPT-引领未来智能对话的革命,灵境ai画质
未来科技:AI工具为生活赋能,打造智能未来
优排软件:高效管理新天地,轻松提升工作效率,长葛外贸网站建设
为什么要年前做SEO,企业为什么做seo推广 ,云南ai大数据公司
颠覆写作方式:免费的AI续写软件助你轻松创作
AI生成文章免费工具,让创作变得轻松又高效,ai安心健
好用的AI写作软件,让创作更高效