Apache-Talk mailing list archive (apache-talk@lists.lexa.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[apache-talk] Address already in use
- To: apache-talk@xxxxxxxxxxxxx
- Subject: [apache-talk] Address already in use
- From: Anton Zabannikh <anton@xxxxx>
- Date: Tue, 9 Nov 2004 17:37:08 +0500
- Content-length: 1448
- Organization: Ural Relcom Ltd.
Здравствуйте
С некоторого момента, без видимых причин, стала возникать очень
странная проблема. Никак не можем найти даже приблизительных причин
такого поведения apache.
Мы имеем front end на apache apache_1.3.33 и back_end на
apache_1.3.31rusPL30.20, все это стоит на FreeBSD 4.10-STABLE.
С некоторых пор, при посылке на фронт-енд сигнала -USR1, сервер
начинает вести себя странно: перестает отвечать на запросы
пользователей, а в лог пишет:
(38)Socket operation on non-socket: accept: (client socket)
Мы останавливаем фронт-енд, потом запускаем его, он пишет
в лог:
[notice] caught SIGTERM, shutting down
[crit] (48)Address already in use: make_sock: could not bind to
address 194.226.146.5 port 80
При этом есть полная уверенность, что данный порт никто не занимает
(пробовал писать собственный сервер, который просто садится на
порт - порт свободен, это же показывает и netstat).
Вычищаю из конфига апача все Listen с IP адресом, на который он
ругается, после чего фронтенд запускается. Добавляю обратно
закомментированные Listen, делаю kill -USR1 апачу и все начинает
работать до следующего kill -USR1.
Чем можно объяснить подобное поведение ? Есть ли какие-нибудь идеи ?
И еще небольшой вопрос.
Я сегодня начал экспериментировать с nginx. Напоролся на следующую
проблему - у нас много достаточно скриптов написано с учетом
использования переменной HTTP_X_HOST. nginx умеет ее передавать ?
С уважением,
Антон.
|