Nginx入门必备

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

1.升级 Nginx
   配置 nginx,在相关地方加上如下的配置就可以了:
    /root/lnmp0.7/upgrade_nginx.sh>增加 
   <code>--with-http_geoip_module</code>
   执行./upgrade_nginx.sh
   输入版本号:1.2.3

2.安装 MaxMind 的 GeoIP 库
   MaxMind 提供了免费的 IP 地域数据库(GeoIP.dat),不过这个数据库文件是二进制的,需要用 GeoIP 库来读取,所以除了要下载 GeoIP.dat 文件外(见下一步),还需要安装能读取这个文件的库。
   wget http://geolite.maxmind.com/download/geoip/api/c/GeoIP.tar.gz
   tar -zxvf GeoIP.tar.gz
   cd GeoIP-1.4.6
   ./configure
   make; make install

刚才安装的库自动安装到 /usr/local/lib 下,所以这个目录需要加到动态链接配置里面以便运行相关程序的时候能自动绑定到这个 GeoIP 库:
# echo \'/usr/local/lib\' > /etc/ld.so.conf.d/geoip.conf
# ldconfig

3.下载 IP 数据库
   MaxMind 提供了免费的 IP 地域数据库,这个数据库是二进制的,不能用文本编辑器打开,需要上面的 GeoIP 库来读取:
  # wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
  # gunzip GeoIP.dat.gz

4.配置 Nginx
  最后是配置 nginx,在相关地方加上如下的配置就可以了:
 vi /etc/nginx/nginx.conf

http {
...
geoip_country /home/vpsee/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;
...
}

server {
...
        location / {
            root   /home/vpsee/www;
            if ($geoip_country_code = CN) {
                root /home/vpsee/cn;
            }
            ...
        }
...
}



相关课程

课时简介

课时发布人:admin

发布于:2013-01-26

651 0

课程创建人

最近最近学完的人( 全部1人 )

最近收藏该课时的人( 全部1人 )

立即注册
学习路上要有伙伴同行!
登录后可与26名学员及知识达人交流、学习。