Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Администрирование *NIX систем > Проблемы с Apache


Автор: admsasha 26.9.2005, 04:38
Вот такая проблема:

Через некоторое время работы сервера, начинается повышаться swap и процесор забит на 100%. Количество файлов libhttpd.ep начинает расти, пока машина не встает колом.


после выключении apache.... причем он выключается с ошибкой, файлы libhttpd.ep не все завершаются, прикодится их убивать kill`ом, все(swap) востанавливается.

Что можно посмотреть, что бы узнать причину этого ?


# uname -r
2.4.19-16mdk

# httpd -v
Server version: Apache-AdvancedExtranetServer/1.3.31 (Mandrakelinux/7mdk)
Server built: Sep 29 2004 22:10:16


Автор: StealtH 28.9.2005, 21:36
Цитата(admsasha @ 26.9.2005, 04:38)
Вот такая проблема:

Через некоторое время работы сервера, начинается повышаться swap и процесор забит на 100%. Количество файлов libhttpd.ep начинает расти, пока машина не встает колом.


после выключении apache.... причем он выключается с ошибкой, файлы libhttpd.ep не все завершаются, прикодится их убивать kill`ом, все(swap) востанавливается.

Что можно посмотреть, что бы узнать причину этого ?


# uname -r
2.4.19-16mdk

# httpd -v
Server version: Apache-AdvancedExtranetServer/1.3.31 (Mandrakelinux/7mdk)
Server built: Sep 29 2004 22:10:16

Конфиг дай, если это то о чем я думаю, то могу те помоч

Автор: admsasha 29.9.2005, 01:56
Цитата(StealtH @ 29.9.2005, 04:36)
Конфиг дай, если это то о чем я думаю, то могу те помоч


Конфиг сбросил в Личку

Автор: admsasha 11.10.2005, 17:38
Цитата(StealtH @ 29.9.2005, 04:36)
Конфиг дай, если это то о чем я думаю, то могу те помоч


так что ?, нет вариантов ?

Автор: bilbobagginz 12.10.2005, 00:36
Саша.
начинай вырубать все модули.
потом включай по одному.
подозреваемые - mysql, php
пока.

Автор: StealtH 24.11.2005, 08:51
Цитата(admsasha @ 11.10.2005, 17:38)
так что ?, нет вариантов ?

Сорри, но письмо тольк сейчас заметил smile

Соглашус с bilbobagginz'ом отключи все модули и подключай по одному, пхп и мускуль тут совершенно не причом.

А вообще мой тебе совет. Скачай последний дистрибут апача, и ручками его собери, имено под твои нужды, стандартная поставка апача из "коробочек" - не самый лучший вариант для использования, особено если ты хочешь сделать нормальные хост, с посещаемостью. У тебя там куча модулей, которые по-моему ваще не используются, и висят ненужныи грузом в апаче.

Автор: Kiber_rat 24.11.2005, 09:02
По хорошему стоит использовать свежие версии софта, по крайней мере стабильные релизы, а у тебя и апач старый и ядро такое, под которое любой скрипткиддис за 5 минут эксплойт для получения рута найдет...
Для публичного ресурса это неприемлемо, иначе твой сервер будет чьим то зомби...
Так что обновляйся и собирай критичный софт из исходников на той машине, на которой он будет работать...
P.S. Может это меня после Gentoo так тыркает? smile

Автор: StealtH 24.11.2005, 09:53
Цитата(Kiber_rat @ 24.11.2005, 09:02)
Так что обновляйся и собирай критичный софт из исходников на той машине, на которой он будет работать...

Имхо, это не есть хорошая идея, если кто-то получит шел на серваке то исходники установленые на сервере - это прямой путь для сборки своего какого-нибуть демона, который и прератит сервер в зомби. Для сервера который будет работать в инете нужно все ставить из rpm'ов НО собраных на другой машине и заточеных имено для этого, в данной ситуации я бы рекомендовал установить стабильные версии софта и ядра(желательно из ветки 2.6.х) и потом уже использовать сервер

Автор: Jоnny 1.12.2005, 17:14
StealtH
Цитата
Имхо, это не есть хорошая идея, если кто-то получит шел на серваке то исходники установленые на сервере - это прямой путь для сборки своего какого-нибуть демона, который и прератит сервер в зомби. Для сервера который будет работать в инете нужно все ставить из rpm'ов НО собраных на другой машине и заточеных имено для этого, в данной ситуации я бы рекомендовал установить стабильные версии софта и ядра(желательно из ветки 2.6.х) и потом уже использовать сервер

если получить remote то не обязательно исходники да и вообще они там не нужны нафик.. мне интересно ты что будешь сидеть 3 часа на машине залогиненый и собирать какой нить демон..(п.с. вычислить в 2 счёта) или лучше собрать у себя нужный пакет скажем взять сам демон httpd и добавить туда свой код (версию определить я думаю не проблема) и твоим remote закинуть вместо той что там висит? тогда не надо 3 часа на серваке пересобирать .... так что я присоеденяюсь к Kiber_rat по поводу сборки руками

Kiber_rat
Цитата
собирай критичный софт из исходников

зачем собирать "критичный софт руками"? темболее на сервере вполне достаточно тех служб которые могут создавать TCP/IP соединения и всё а их немного


admsasha
Цитата
# httpd -v
Server version: Apache-AdvancedExtranetServer/1.3.31 (Mandrakelinux/7mdk)
Server built: Sep 29 2004 22:10:16

один только коментарий версия 1.3.31 не самый лучший выбор для сервера... поставь из 2.х.х скачать можно с http://httpd.apache.org/download.cgi
да и если у тебя такой дистр установлен то при сборке ядра 2.6.х тебе также прийдёться переставить парочку других приложений (modutils initscripts) так как modutils старый и неподходит для сборки новых модулей а он в свою очередь требует обновить initscripts иначе у тебя просто модули в системе загружаться не будут, хотя можно всё что тебе надо компилировать в само ядро а модули вообще отключить тогда ничего не надо будет пересобирать (проверял)

Автор: Jоnny 1.12.2005, 17:28
StealtH
Цитата
установить стабильные версии софта и ядра(желательно из ветки 2.6.х)

по поводу стабильности я с тобой не согласен...это как вновь родившийся ребёнок потенциальной энергии много но ошибки допускает постоянно, а старичёк умудрённый жизнью ошибок "почти" не допускает но его потенциал уже иссяк, так и в ядре (допустим 2.6.14).... если над ним посидеть скажем недельку тогда получиться компактное красивое ядро с кучей модулей но при этом пришлось некоторые модули поправлять самому (маленькие неточности) и вносить изменения во fb (чтоб у меня нормально работал 60Г не устраивает) да и при сборке тоже кучу зависимостей учитывать надо самому, нет я ничего не имею против 6-й ветки ядра напротив она мне даже нравиться постарались когда писали но для серваков темболее что-б стабильно стояло и класно работало я рекомендую из 4-й ветки от 18(+patch) до 32 в зависимости от железа..... ядро ведь не обязательно самое новое ..... для сервера надо стабильное, а стабильное только более ранних версий где уже ошибки нашли и исправили. Ну ладно что-то заговорился. Вообще выбор каждого свой.

Автор: StealtH 28.12.2005, 09:24
Цитата(J @ 1.12.2005, 17:28)
по поводу стабильности я с тобой не согласен...это как вновь родившийся ребёнок потенциальной энергии много но ошибки допускает постоянно, а старичёк умудрённый жизнью ошибок "почти" не допускает но его потенциал уже иссяк, так и в ядре (допустим 2.6.14).... если над ним посидеть скажем недельку тогда получиться компактное красивое ядро с кучей модулей но при этом пришлось некоторые модули поправлять самому (маленькие неточности) и вносить изменения во fb (чтоб у меня нормально работал 60Г не устраивает) да и при сборке тоже кучу зависимостей учитывать надо самому, нет я ничего не имею против 6-й ветки ядра напротив она мне даже нравиться постарались когда писали но для серваков темболее что-б стабильно стояло и класно работало я рекомендую из 4-й ветки от 18(+patch) до 32 в зависимости от железа..... ядро ведь не обязательно самое новое ..... для сервера надо стабильное, а стабильное только более ранних версий где уже ошибки нашли и исправили. Ну ладно что-то заговорился. Вообще выбор каждого свой.

Опять же не соглашусь, вернее соглашусь но частично, например у меня в офисе стоят на серверах две версии линуха, на файловом и на файрволе стоят ядра 2.6.х а на серверах печати стоят 2.4.18, к одному из серверов печати прикручен SCSI-сканер, который работает на весь офис, когда стояло ядро 2.6.9 сканер совершенно отказывался дружить с сервером, помогла только переустановка оси, поставил RH 9 и сканер запел как миленький и без проблем, конечно пришлось рихтовать напильнеком и молотком но всеже заработал, а недельный секс с 2.6.х привел только к переустановке оси. Но в любом случае ядро нужно подбирать изходя из задач. В ядре 2.4.18 у меня неполучилось нормально поднять модуль bsd_comp пересборка ядра не помогла, где-то был косяк имено в этом модуле, потому что ядро собралось нормально, но этот модуль напроч отказывался грузиться и работать, опять же простая переустановка системы на более новое ядро - и все, проблема решена. В любом случае я склоняюсь к такому мнению, что под каждую задачу нужно затачивать ядро самостоятельно, а не использовать ядро идущее в дистрибутиве.
Добавлено @ 09:29
Цитата(J @ 1.12.2005, 17:14)
один только коментарий версия 1.3.31 не самый лучший выбор для сервера...

Согласен, однозначно менять на более свежую - 1.3.34

Цитата
поставь из 2.х.х скачать можно с http://httpd.apache.org/download.cgi
да и если у тебя такой дистр установлен то при сборке ядра 2.6.х тебе также прийдёться переставить парочку других приложений (modutils initscripts) так как modutils старый и неподходит для сборки новых модулей а он в свою очередь требует обновить initscripts иначе у тебя просто модули в системе загружаться не будут, хотя можно всё что тебе надо компилировать в само ядро а модули вообще отключить тогда ничего не надо будет пересобирать (проверял)


2.х.х апач - не самая лучашая идея, на него сплоитов немеряно, причем один от другого мало чем отличаются, соответствено вывод - этой версии мало уделяется внимания со стороны разработчиков. Например на securitylab я не видел еще уязвимостей для 1.3.34 и работает постабильнее, и при переустановке будет меньше гемора.

Автор: DENNN 28.12.2005, 09:37
Цитата(StealtH @ 28.12.2005, 09:24)
2.х.х апач - не самая лучашая идея, на него сплоитов немеряно, причем один от другого мало чем отличаются, соответствено вывод - этой версии мало уделяется внимания со стороны разработчиков. Например на securitylab я не видел еще уязвимостей для 1.3.34 и работает постабильнее, и при переустановке будет меньше гемора.

Подписываюсь под каждым словом smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)