The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  правила/FAQ  поиск  регистрация  вход/выход  слежка  RSS
"помогите понять почему GeoIp не работает (nginx)"
Вариант для распечатки  
Пред. тема | След. тема 
Форум WEB технологии (nginx)
Изначальное сообщение [ Отслеживать ]

"помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от evgeniy123 email(ok) on 27-Июн-17, 05:52 
Здравствуйте. Есть nginx с установлений из стандартных пакетов Ubuntu.  nginx version: nginx/1.10.3 .   Хочу подключить GeoIp что бы ловить в $_SERVER разные данные.  в main  добавил   load_module "modules/ngx_http_geoip_module.so";    
http{

geoip_country /var/www/pmn/data/Maxmind_GeoIp/GeoIP.dat; # the country IP database
geoip_city /var/www/pmn/data/Maxmind_GeoIp/GeoLiteCity.dat; # the city IP database    

...

include cfreal;  
}

cfreal:

### SET GEOIP Variables ###
proxy_set_header GEOIP_COUNTRY_CODE $geoip_country_code;
proxy_set_header GEOIP_COUNTRY_CODE3 $geoip_country_code3;
proxy_set_header GEOIP_COUNTRY_NAME $geoip_country_name;

proxy_set_header GEOIP_CITY_COUNTRY_CODE $geoip_city_country_code;
proxy_set_header GEOIP_CITY_COUNTRY_CODE3 $geoip_city_country_code3;
proxy_set_header GEOIP_CITY_COUNTRY_NAME $geoip_city_country_name;
proxy_set_header GEOIP_REGION $geoip_region;
proxy_set_header GEOIP_CITY $geoip_city;
proxy_set_header GEOIP_POSTAL_CODE $geoip_postal_code;
proxy_set_header GEOIP_CITY_CONTINENT_CODE $geoip_city_continent_code;
proxy_set_header GEOIP_LATITUDE $geoip_latitude;
proxy_set_header GEOIP_LONGITUDE $geoip_longitude;  


root@site:/etc/nginx# ldconfig -v | grep GeoIP
/sbin/ldconfig.real: Path `/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: Path `/usr/lib/x86_64-linux-gnu' given more than once
/sbin/ldconfig.real: /lib/x86_64-linux-gnu/ld-2.23.so is the dynamic linker, ignoring

        libGeoIP.so.1 -> libGeoIP.so.1.6.9  

делаю . print_r($_SERVER)
  и не вижу никаких дополнительных значений. Может не так что делаю или нужно компилировать именно nginx  ?

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от PavelR (??) on 27-Июн-17, 08:02 
Не знаю как другие, но вот лично я по кускам конфига не гадаю.
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от evgeniy123 email(ok) on 27-Июн-17, 09:52 
> Не знаю как другие, но вот лично я по кускам конфига не
> гадаю.

Вам нужен полный nginx.conf или еще что то ?

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от ACCA (ok) on 27-Июн-17, 17:39 
> Вам нужен полный nginx.conf или еще что то ?

Все конфиги, которые работают.

Формальный вопрос - у тебя бэкенд на чём писан?

Твой PHP цепляется через FCGI? В FCGI параметры передаются через fastcgi_param.


GeoIP лучше считать в приложении, чтобы не гонять лишние строки в запросах. И сеть не грузишь и запрос парсишь быстрее.

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от PavelR (??) on 27-Июн-17, 19:41 
> GeoIP лучше считать в приложении, чтобы не гонять лишние строки в запросах.
> И сеть не грузишь и запрос парсишь быстрее.

Это зависит от приложения. Иметь БД загруженной в память программы может быть гораздо эффективнее, чем загружать и разбирать БД внутри скрипта (при каждом запросе).

Не думаю, что удастся сделать эффективнее, чем в nginx, хотя, конечно, эффективность зависит от правильной конфигурации.


Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от ACCA (ok) on 27-Июн-17, 20:55 
> Не думаю, что удастся сделать эффективнее, чем в nginx, хотя, конечно, эффективность
> зависит от правильной конфигурации.

Такие кунштюки тяжело делать на прокси - туда придётся затащить практически весь слой контроллера.

Типа для статики GeoIP на фиг не нужно, а вот для sign-up page - нужно. Ковыряешь только один запрос из 50, работаешь в 50 раз эффективнее. Туда же прикручиваешь memoization, вот тебе ещё 20-кратное ускорение.

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

7. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от evgeniy123 email(ok) on 29-Июн-17, 01:34 
>> Не думаю, что удастся сделать эффективнее, чем в nginx, хотя, конечно, эффективность
>> зависит от правильной конфигурации.
> Такие кунштюки тяжело делать на прокси - туда придётся затащить практически весь
> слой контроллера.
> Типа для статики GeoIP на фиг не нужно, а вот для sign-up
> page - нужно. Ковыряешь только один запрос из 50, работаешь в
> 50 раз эффективнее. Туда же прикручиваешь memoization, вот тебе ещё 20-кратное
> ускорение.

Извините не понял вашу логику. Почему в Sign Up так нужно ?

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от evgeniy123 email(ok) on 29-Июн-17, 03:01 
>> GeoIP лучше считать в приложении, чтобы не гонять лишние строки в запросах.
>> И сеть не грузишь и запрос парсишь быстрее.
> Это зависит от приложения. Иметь БД загруженной в память программы может быть
> гораздо эффективнее, чем загружать и разбирать БД внутри скрипта (при каждом
> запросе).
> Не думаю, что удастся сделать эффективнее, чем в nginx, хотя, конечно, эффективность
> зависит от правильной конфигурации.

Вообщем узнал что нижнее подчеркивание у меня не проходит  proxy_set_header GEOIP_CITY $geoip_city;    -> proxy_set_header GEOIP-CITY $geoip_city;  

Сейчас всё ок. хотя
http {  

underscores_in_headers  on

....}

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

6. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от evgeniy123 email(ok) on 29-Июн-17, 00:57 
>> Вам нужен полный nginx.conf или еще что то ?
> Все конфиги, которые работают.
> Формальный вопрос - у тебя бэкенд на чём писан?
> Твой PHP цепляется через FCGI? В FCGI параметры передаются через fastcgi_param.
> GeoIP лучше считать в приложении, чтобы не гонять лишние строки в запросах.
> И сеть не грузишь и запрос парсишь быстрее.

Websocket идет через FCGI.   а сам WEB + REST через nginx + apache. И там и там нужно это.

Не понял на счет приложения ...  Это как ?  include в коде при каждом вызове  GeoIp.dat   ?

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

9. "помогите понять почему GeoIp не работает (nginx)"  +/
Сообщение от Анна01 (ok) on 01-Июл-17, 12:53 
> Не знаю как другие, но вот лично я по кускам конфига не
> гадаю.

ой у меня тоже есть какие- то такие проблемы ,, и я сама не знаю как это делается

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру