Помогите перекомпилировать Apache

Простые/общие вопросы по UNIX системам. Спросите здесь, если вы новичок

Модераторы: vadim64, terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
mvd81
рядовой
Сообщения: 10
Зарегистрирован: 2011-06-10 14:22:51

Помогите перекомпилировать Apache

Непрочитанное сообщение mvd81 » 2011-09-07 12:03:01

На сервере стоит Apache 2.2.17 со стандартными параметрами.

Код: Выделить всё

# httpd -V
Server version: Apache/2.2.17 (FreeBSD)
Server built:   Sep  7 2011 12:09:44
Server's Module Magic Number: 20051115:25
Server loaded:  APR 1.4.2, APR-Util 1.3.10
Compiled using: APR 1.4.2, APR-Util 1.3.10
Architecture:   32-bit
Server MPM:     Prefork
  threaded:     no
    forked:     yes (variable process count)
Server compiled with....
 -D APACHE_MPM_DIR="server/mpm/prefork"
 -D APR_HAS_SENDFILE
 -D APR_HAS_MMAP
 -D APR_USE_FLOCK_SERIALIZE
 -D APR_USE_PTHREAD_SERIALIZE
 -D SINGLE_LISTEN_UNSERIALIZED_ACCEPT
 -D APR_HAS_OTHER_CHILD
 -D AP_HAVE_RELIABLE_PIPED_LOGS
 -D DYNAMIC_MODULE_LIMIT=128
 -D HTTPD_ROOT="/usr/local"
 -D SUEXEC_BIN="/usr/local/bin/suexec"
 -D DEFAULT_PIDLOG="/var/run/httpd.pid"
 -D DEFAULT_SCOREBOARD="logs/apache_runtime_status"
 -D DEFAULT_LOCKFILE="/var/run/accept.lock"
 -D DEFAULT_ERRORLOG="logs/error_log"
 -D AP_TYPES_CONFIG_FILE="etc/apache22/mime.types"
 -D SERVER_CONFIG_FILE="etc/apache22/httpd.conf"
Как я понял, Apache ограничивает число одновременных подключений до 256..
Из-за этого в пиковые рабочие часы, когда эта цифра превышается, вижу "socket connection reset by peer" и дальше - перезапуск apache. пришлось для этой цели monitd поставить...
Нарыл опцию -D HARD_SERVER_LIMIT=N
Хочу установить её на 1024, а в httpd.conf прописать "MaxClients 512" и дальше уже играть с этой цифрой...
Но убейте - не пойму: Как перекомпилировать Apache с этой опцией???
Пробовал make deinstall -> make -D HARD_SERVER_LIMIT=1024 -> make install clean
Ничего не изменилось. Нужной опции не прибавилось...
Если можно по-коммандно, или пошагово...

Заранее благодарен за ответы.
Последний раз редактировалось f_andrey 2011-09-07 13:03:40, всего редактировалось 1 раз.
Причина: Автору, выбирайте пожалуйста раздел соответствуюший тематике вашего сообщения, и оформляйте его по человечески.

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение bagas » 2011-09-07 13:19:02

помоему так
меняем переменную в /usr/local/include/apache22/httpd.h
HARD_SERVER_LIMIT с 256 на большее число.

или в make.conf указать

Код: Выделить всё

.if ${.CURDIR} == ${PORTSDIR}/www/apache22
WITH_SSL=YES
WITH_MODACCEL=YES
HARD_SERVER_LIMIT=4096
.endif
И заново запустить обновление самого порта. должно все пересобраться.
к примеру так в первом варианте не уверен..
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

x6e6564
проходил мимо

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение x6e6564 » 2011-09-07 13:33:16

Если надо что-то в исходниках поменять, то обычно:

Код: Выделить всё

make deinstall;
make patch; - распакует и применит патчи, если таковые есть. Далее в папке work поправить что нужно.
make install;
почитать man ports

mvd81
рядовой
Сообщения: 10
Зарегистрирован: 2011-06-10 14:22:51

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение mvd81 » 2011-09-07 13:42:51

Спасибо.
Сейчас начну пробовать...

mvd81
рядовой
Сообщения: 10
Зарегистрирован: 2011-06-10 14:22:51

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение mvd81 » 2011-09-07 14:08:39

самое интересное, что
нет в "/usr/local/include/apache22/httpd.h" переменной HARD_SERVER_LIMIT.

по поводу make.conf... Вы про Makefile в /usr/ports/www/apache22 или я недопонял?
Если про него, то и там ничего похожего на MODEACCEL и SERVER_LIMIT не нашел...

если данный код
.if ${.CURDIR} == ${PORTSDIR}/www/apache22
WITH_SSL=YES
WITH_MODACCEL=YES
HARD_SERVER_LIMIT=4096
.endif
нужно самому туда вставить, то подскажите в какое место... или это не имеет значения???

Аватара пользователя
bagas
лейтенант
Сообщения: 922
Зарегистрирован: 2010-08-18 19:49:01
Откуда: Воронеж
Контактная информация:

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение bagas » 2011-09-07 14:31:11

укажи в /etc/make.conf
Что бы ты не делал , жизнь слишком коротка!
Блог о BSD системах.

mvd81
рядовой
Сообщения: 10
Зарегистрирован: 2011-06-10 14:22:51

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение mvd81 » 2011-09-07 14:54:18

да, да...
понял, про какой Вы make.conf - тупить уже начинаю...

в общем, добавил туда
.if ${.CURDIR} == ${PORTSDIR}/www/apache22
WITH_SSL=YES
WITH_MODACCEL=YES
HARD_SERVER_LIMIT=4096
.endif

далее: make deinstall
и make install clean (естественно в /usr/ports/www/apache22) - ничего не изменилось...
строки -D HARD_SERVER_LIMIT не появилось...

mvd81
рядовой
Сообщения: 10
Зарегистрирован: 2011-06-10 14:22:51

Re: Помогите перекомпилировать Apache

Непрочитанное сообщение mvd81 » 2011-09-07 16:27:05

Тема закрыта.
Если кому будет интересно:
всякие HARD_SERVER_LIMIT это для апачей версии 1.3

в 2.2. всё элементарно:
перед строкой MaxClients прописать строку ServerLimit И ВСЁ...

т.е. в моём случае нужно было
ServerLimit 1024
MaxClients 512