http://markeev.labwr.ru/2012/07/maxmind-geoip-geoipcity-nginx.html
Установка бесплатной базы maxmind с данными о городах
1. Настраиваем nginx
sudo vim /etc/nginx/nginx.conf
http {
geoip_city /usr/local/share/GeoIP/GeoLiteCity.dat;
...
2. В fastcgi_params добавляем
sudo vim /etc/nginx/fastcgi_params
### SET FASTCGI Variables ###
fastcgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
fastcgi_param GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
fastcgi_param GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
fastcgi_param GEOIP_REGION $geoip_region;
fastcgi_param GEOIP_CITY $geoip_city;
fastcgi_param GEOIP_POSTAL_CODE $geoip_postal_code;
fastcgi_param GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
fastcgi_param GEOIP_LATITUDE $geoip_latitude;
fastcgi_param GEOIP_LONGITUDE $geoip_longitude;
для uwsgi соответственно
sudo vim /etc/nginx/uwsgi_params
### SET UWSGI Variables ###
uwsgi_param GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
3. Качаем лайт базу (безвозмездно, значит даром)
wget -c http://www.maxmind.com/download/geoip/database/GeoLiteCity.dat.gz
gunzip GeoLiteCity.dat.gz
куда-нибудь в /usr/local/share/GeoIP/
4. Ставим пакеты - не знаю, когда это нужно, т.к. у меня на убунте и федоре уже стояли.
sudo apt-get install geoip-bin libgeoip-dev libgeoip1
5. Перезапускам nginx
6. Теперь можно использовать переданные модулем nginx заголовки:
GEOIP_CITY
GEOIP_CITY_CONTINENT_CODE
GEOIP_CITY_COUNTRY_CODE
GEOIP_CITY_COUNTRY_CODE3
GEOIP_CITY_COUNTRY_NAME
GEOIP_LATITUDE
GEOIP_LONGITUDE
GEOIP_POSTAL_CODE
GEOIP_REGION
Вот пример данных из лайт базы для моего рабочего IP
'GEOIP_CITY': '',
'GEOIP_CITY_CONTINENT_CODE': 'EU',
'GEOIP_CITY_COUNTRY_CODE': 'RU',
'GEOIP_CITY_COUNTRY_CODE3': 'RUS',
'GEOIP_CITY_COUNTRY_NAME': 'Russian Federation',
'GEOIP_LATITUDE': '60.0000',
'GEOIP_LONGITUDE': '100.0000',
'GEOIP_POSTAL_CODE': '',
'GEOIP_REGION': ''
Не очень точно, да?
Использование платных версий Maxmind ДБ
Для загрузки баз воспользуйся логопасом, у вас ведь есть подписка MaxMind? http://www.maxmind.com/app/account. Загрузить БД можно по адресу: http://www.maxmind.com/app/download_files. Думаю, опытный пират найдет способ скачать платную версию MaxMind с rutracker.org, но я ни коим образом не поощряю подобное поведение ;).
1. GeoIP Country binary database - база данных стран
http {
geoip_country 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;
2. GeoIP City binary database - база данных городов
http {
geoip_city /usr/local/share/GeoIP/GeoIPCity.dat;
...
Пример ответа для того же IP
'GEOIP_CITY': 'Moscow',
'GEOIP_CITY_CONTINENT_CODE': 'EU',
'GEOIP_CITY_COUNTRY_CODE': 'RU',
'GEOIP_CITY_COUNTRY_CODE3': 'RUS',
'GEOIP_CITY_COUNTRY_NAME': 'Russian Federation',
'GEOIP_LATITUDE': '55.7522',
'GEOIP_LONGITUDE': '37.6156',
'GEOIP_POSTAL_CODE': '',
'GEOIP_REGION': '48'
No comments:
Post a Comment