>
> У меня больше 20 серверов и Апача я пересобираю очень просто
>
> make <имя машины>
> sudo make test
> sudo make install
>
> Скачиваются нужные дистрибутивы, если их ещё нет на этой машине,
> собирается нужная конфигурация, тестируется конфиг-файл,
> устанавливается новый бинарь, старый апач прибивается, а новый
> запускается.
>
Круто. А что происходит при изменении конфигурации ? То есть у вас есть
еще база, где хранится - где чего стоит, как собраны модули и т.д. и т.п.
Можно, конечно, и так - но вот зачем ? BTW все это (начиная со слов
"скачиваются нужные дистрибутивы") подразумевает ON-LINE связь с этими
машинами (что в случае Apache, может быть, и оправдано, но, вообще говоря,
даже и для него далеко не всегда имеет место быть).
> > P.S. BTW насчет потерь: все ваши рассуждения про потерянные килобайты
> > сегмента data верны ТОЛЬКО в случае МОДИФИКАЦИИ этих данных после fork'а.
>
> Совершенно верно.
>
> > А что такого все эти модули модифицируют в своих данных ??? Там в основном
> > текстовые строки (и структура Apache'овского модуля, но она после fork'а
> > не модифицируется уже).
>
> Насчет php не знаю, но за Апачевские модули я спокоен.
> В их крошечных сегментах данных среди прочего живёт GOT, в которой
> живут адреса внешних функций, в том числе функций Апачи, всякие ap_*.
> А поскольку линковка lazy, то они они правильными становяться не
> сразу.
С каких это пор у нас
dlopen(path, RTLD_NOW | RTLD_GLOBAL);
вызывает lazy linking ????? Скажите уж - чтобы больше такое чудо не
пользовать. В Linux'е если сказали RTLD_NOW - так оно и будет NOW, а не
после fork'а...
> Некоторые функции вызываются первый раз уже после форка.
А линкуются в момент загрузки модуля.
> Достаточно одной на модуль.
>
Да, есть много способов самому себе нагадить. Но создатели Apache тоже это
понимают и стараются так не делать. И, в частности поэтому, не пользуются
lazy linking'ом...
=============================================================================
= 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" 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.