LINUX.ORG.RU
ФорумAdmin

запуск httpd при уже запущенном httpd


0

0

Что произойдёт если дать команду на запуск httpd когда уже httpd запущен? и сильно ли эта команда (/etc/rc.d/init.d/httpd start) загружает процессор? У меня httpd раз в 4-5 дней падает по непонятной причине, ив от я хочу вбить в крон команду на запуск, но не представляю последствий


Что помешало проверить?

bash$ sudo /etc/init.d/httpd-perl start
Service httpd-perl is already running.

думаю, даже если это делать раз в минуту, от сервера не убудет.

Да и ещё, а что в логах-то пишет?

lodin ★★★★
()
Ответ на: комментарий от lodin

Если б я знал где эти логи искать, нашёл какую то папку logs\httpd\ там много разных файлов и во всех пишет - слишком большой для открытия(

Set13
() автор топика
Ответ на: комментарий от Set13

п\с у меня на твою команду - команд нот фоунд я этой /etc/rc.d/init.d/httpd start запускаю, п\с спасбо поставлю на 30 мин

Set13
() автор топика
Ответ на: комментарий от Set13

>нашёл какую то папку logs\httpd\ там много разных файлов и во всех пишет - слишком большой для открытия(

странный у вас слеш. Виндузячий... А файлы то чем пытаетесь открыть?

По идее должен работать logrotate и файлы не должны быть сильно большими. Перезапуск httpd это, конечно, возможный вариант решения проблемы, но лучше разбираться, почему падает... Может у вас слишкмо старая версия и её надо обновить, а то еще поломают...

Хотя с учетом вашей предыдущей темы, возможно httpd "погибает" из-за нехватки памяти. Вобще посмотрите/почитайте логи --- файлы в каталоге /var/log/ может там есть что, например, строчки типа "out of memory".

mky ★★★★★
()
Ответ на: комментарий от mky

IMHO, более правильно будет скачала анализировать количество апачей командой pidof, и если оно равно нулю - зупаскать уже стартовый скрипт.

akubens
()
Ответ на: комментарий от akubens

Правильный вариант будет - разобраться с проблемой, чтобы httpd не падал. а не писать кучу костылей.

Deleted
()
Ответ на: комментарий от mky

Нашёл? но что это начит?
[emerg] (12) Cannot allocate memory: couldt grab the accept mutex
[error] (12) Cannot allocate memory: fork: Unable to Fork new pocess
(): Unable to allocate 1245184 Bytes
[alert] Child 5535 returned a fatal error.. Apache is Exiting
Сори за ошибки, тхт из буфера в консолькопируется а обратно почему то нет(


Насчёт памяти я принял меры по настройки mysql и httpd как помому вы мне кажется и советовали. Памяти освободилось значительно и сервер стал гораздо реже падать, обычно в обычное загруженное время свободнно около 90Мб

Другое
[error] [client ::1] Directory index forbidden by Options Directive /var/www/html/
Там таких ошибок просто море по несколько тысяч в день!

Set13
() автор топика
Ответ на: комментарий от akubens

akubens я не умею программировать для Линукса, на пхп у меня сразу идея возникла сначало проверять а потом запускать, но этот вариант я сразу отбросил т.к. если httpd выгружен то и пхп работать естественно не будет

Set13
() автор топика
Ответ на: комментарий от Set13

tail /var/log/httpd/error_log покажет самый конец файла. Там-то и есть все интересное -- если есть, конечно.

Ещё есть чудесная команда less, которая показывает содержимое файла в пристойном виде, см. man less.

lodin ★★★★
()
Ответ на: комментарий от lodin

я открывал mcedit'ом, там строки(они повторяются): [emerg] (22) Invalid argument: couldt grab the accept mutex [emerg] (12) Cannot allocate memory: couldt grab the accept mutex [error] (12) Cannot allocate memory: fork: Unable to Fork new pocess erealoc(): Unable to allocate 1245184 Bytes erealoc(): Unable to allocate 2946844 Bytes [alert] Child 5535 returned a fatal error.. Apache is Exiting

Сегодня опять он выключался, в 7 утра отрубился и только в 13.00 дня самостоятельно включился(благодоря крону за 30 мин)

Set13
() автор топика
Ответ на: комментарий от Set13

сори
я открывал mcedit'ом, содержимое строк:
[emerg] (22) Invalid argument: couldt grab the accept mutex
[emerg] (12) Cannot allocate memory: couldt grab the accept mutex
[error] (12) Cannot allocate memory: fork: Unable to Fork new pocess
erealoc(): Unable to allocate 1245184 Bytes
erealoc(): Unable to allocate 2946844 Bytes
[alert] Child 5535 returned a fatal error.. Apache is Exiting

Сегодня опять он выключался, в 7 утра отрубился и только в 13.00 дня самостоятельно включился

Set13
() автор топика

раз не можете разобраться, почему апач падает, то лучше пускать его через inetd. он вроде умеет рестартить подвисшие и упавшие в корку демоны.

Komintern ★★★★★
()
Ответ на: комментарий от Set13

Да, многовато у вас висит задач (демонов) на виртуальном сервере, у которого всего 256 Мбайт, и нельзя включить swap. Здесь нужно ограничивать не только httpd и mysql ну и всех прочих, например, количство одновременно принимаемых писем (sendmail). Выкинуть все лишние из crontab, например, убрать запуск updatedb.

По хорошему, нужно рассмотреть все задачи, решаемые сервером, и для каждой попробовать найти более легкий вариант, допустим apache -> nginx, sendmail -> smail, отказаться от imap, может и от pop3...

Только вы сразу не бросайтесь курочить работающий сервер, поставьте себе виртуалку и там тренеруйтесь...

>я не умею программировать для Линукса, на пхп у меня сразу идея возникла

вы с такими фразами то поосторожнее, это ж ЛОР, здесь за это сразу поставять клеймо "ПХП быдло кодер". Ничего сложно в написании bash (sh) скриптов нету. И это умение очень хорошо помогает в администрирование Linux (Un*x) серверов.

mky ★★★★★
()
Ответ на: комментарий от Komintern

>раз не можете разобраться, почему апач падает, то лучше пускать его через inetd. он вроде умеет рестартить подвисшие и упавшие в корку демоны.

Не учи плохому :) апач через inetd пускать, насколько я помню, крайне не рекомендуется.

А то так до daemontools дойдём.

Deleted
()
Ответ на: комментарий от dreamer

restrart порвёт все текущие соединения и прибьёт запросы в обработке. Если скрипты нормальные то простого start хватит. Можно раз в пять минут и лучше не в начале каждого часа а через пару минут т.к. обычно юзеры запускают кроны ровно в 00 минут(вроде опция spread для этого у крона есть).

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.