Тема: Получаем инфу о слушателях(Город, Страна, Координаты для карты)
Получаем инфу о слушателях(Город, Страна, Координаты для карты) и все это без всяких php итд.
берем nginx скомпиленный с http_geoip_module(гугл в помошь как его установить и настроить)
естественно добавляем ссылки на базы в блоке http:
#nginx.conf
http {
........................................................................................
geoip_country /home/server/apps/geoip/GeoIP.dat;
geoip_city /home/server/apps/geoip/GeoIPCity.dat;
........................................................................................
}
далее в файле виртуалхоста или тут-же в блоке server пишем:
server {
listen 80;
server_name radio.mysite.com;
location / {
proxy_buffering off;
proxy_set_header X-Host $http_host;
proxy_set_header X-Forwarded-For $remote_addr;
proxy_set_header User-agent $geoip_city_country_code,$geoip_city_country_name,$geoip_city,$geoip_latitude,$geoip_longitude,$http_user_agent;
chunked_transfer_encoding off;
proxy_pass http://radioserverIP-or-domain:port;
}
# location /radio_status {
# stub_status on;
# access_log off;
# }
}
ну и меняем что нужно $geoip_city_country_code,$geoip_city_country_name,$geoip_city,$geoip_latitude,$geoip_longitude,$http_user_agent
далее слушатели подключаются к http://radio.mysite.com и слушают.. а nginx благополучно проксит все на радиосервер + добавляет дополнительные данные по выбору:
Код страны напр. RU ($geoip_city_country_code),
Название страны напр. Russian Federation ($geoip_city_country_name),
Город напр. Moscow ($geoip_city),
Ну и гео-координаты: широта - $geoip_latitude, долгота -$geoip_longitude,
И название плеера или браузера.. вобщем юзерагент $http_user_agent.
Ну а те кто хорошо разбирается в nginx могут настроить балансировку нескольких потоков еще и много другое.
на скриншоте Icecast2 сервера видно как у меня все это выглядит:
показ айпи я конечно отключил.
Отредактировано MechanisM (24-10-2012 15:44:27)