Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[apache-talk] Announce: mod_geo - определение географии по IP



      Модуль доступен здесь: ftp://ftp.lexa.ru/pub/apache-rus/contrib/

                            mod_geo.c version 1.0

                 модуль для определения географии посетителей сайта

Оглавление

  1. Copyright
  2. Назначение
  3. Установка
  4. Конфигурация
  5. Замечания
  6. TODO

Copyright

Copyright (C) 2000-2002 Alex Tutubalin, lexa@xxxxxxx

Допускается распространение и использование в производных продуктах на
условиях аналогичных Apache License - должен быть сохранен копирайт автора и
ссылка на http://www.lexa.ru/lexa, производный продукт не должен называться
mod_geo

Модуль включает существенную часть libpatricia, Copyright (c) 1997, 1998,
1999
The Regents of the University of Michigan ("The Regents") and Merit Network,
Inc. All rights reserved.

Описание

Модуль предназначен для определения географии пользователя WWW-сервера и
передачи географии вызываемым скриптам/динамическим страницам в виде
дополнительного аргумента запроса. Это может быть полезно, если в
зависимости от региона формируется разное содержимое ответной страницы,
скажем разная реклама или разные ссылки на Интернет-магазины
(например,американские для US/CA, европейские для остальных). Модуль
совместим с mod_accel - ответы для каждой страны кэшируются отдельно т.к.
код страны добавляется к видимому mod_accel URL.

Использовано внутреннее представление в виде Patricia tree, что допускает
наличие в базе данных вложенных адресов:

      8.0.0.0/7 US
      9.20.0.0/17 GB

Скорость работы Patricia tree более чем достаточна - на аналогичной задаче и
таблице в 70 тыс префиксов автор получал скорость порядка 800 тыс
lookups/sec на PIII-600, что на три порядка больше быстродействия Apache на
той же машине.

Скрипты для построения БД по географии в комплект модуля не входят и будут
опубликованы позднее, входящая в комплект таблица была построена 10.01.2002
по данным БД RIPE/ARIN/APNIC.

Установка

При конфигурации Apache к параметрам ./configure нужно добавить
--add-module=/path/to/mod_geo.c:

tar xzvf apache_1.3xxx
tar xzvf mod_geo-1.0.xx.tar.gz
cd apache_1.3xx
./configure --prefix=/usr/local/apache \
... --add-module=../mod_uid_1.0.xx/mod_geo.c other-params
make
make install

Конфигурационные директивы

[директивы описаны в документации]

Замечания

  1. При использовании совместно с кэширующим модулем (mod_accel и так
     далее) включать работу mod_geo нужно только для тех документов, которым
     это реально нужно. В противном случае аргумент с именем страны будет
     приписан ко всем URL (включая картинки), что резко снизит эффективность
     кэширования.
  2. Расход памяти данным модулем сравнительно невелик - единицы мегабайт
     под таблицу в 40 тыс записей (размер на сегодня), при инициализации
     таблицы один раз в контексте сервера эти данные разделяются между всеми
     процессами и общий расход памяти в расчете на одну копию httpd
     копеечный.

TODO

  1. Поддержка более общего формата географии (например,
     страна/регион/город/улица/номер_дома) - проблема только в том, где
     взять соответствующую базу данных малой кровью.

=============================================================================
=               Apache-Talk@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.