mathopd

НАЗВАНИЕ
ОБЗОР
ОПЦИИ
СИГНАЛЫ
ВЫХОД
ФАЙЛЫ ЖУРНАЛОВ
АВТОР
АВТОР ПЕРЕВОДА
СМОТРИ ТАКЖЕ

НАЗВАНИЕ

mathopd − продвинутый HTTP−сервер

ОБЗОР

mathopd [ −ndtv ] [ −f файл_конфигурации ]

ОПЦИИ

−n

При указании этой опции mathopd после инициализации продолжит работать в интерактивном режиме. Это полезно в целях отладки.

−d

При указании этой опции mathopd запускается в режиме отладки. Режим отладки можно включать и выключать в процессе работы сервера; обратитесь нижеследующему к разделу с описанием сигналов.

−t

При указании этой опции mathopd запишет диагностическую информацию не только в журнал ошибок, но и на стандартный поток диагностики. Опция названа в честь программы tee(1).

−v

При указании этой опции mathopd выведет информацию о собственной версии и завершит работу.

−f файл_конфигурации

Использовать указанный файл_конфигурации. Если опция −f не используется, mathopd ожидает файл конфигурации на стандартном потоке ввода. Опция используется главным образом по историческим причинам; обычно нет причин для того, чтобы не использовать опцию −f. В mathopd.conf(5) описывается синтаксис файла конфигурации mathopd.

СИГНАЛЫ

В процессе работы сервер реагирует на несколько сигналов. Если в файле конфигурации указан PID−файл, вы можете отправить сигнал mathopd’у используя, например, следующую команду:

# kill −<сигнал> ’cat /var/run/mathopd.pid’

Подразумевается, что PID−файлом является файл /var/run/mathopd.pid.

Список сигналов и их описание приведены ниже.

SIGHUP

Если принят этот сигнал, mathopd переоткроет свои файлы доступа и журнала ошибок. Обратитесь к нижеследующему разделу о файле журнала.

SIGTERM SIGINT

Эти сигналы оказывают одинаковое воздействие: они немедленно останавливают mathopd, закрывая все соединения и все сокеты сервера. Отметим, что фактически сигнал SIGINT, останавливающий сервер, можно отправить нажатием Ctrl-C (или других клавиш, имеющих функцию прерывания), если сервер был запущен с опцией −n.

SIGQUIT

Сигнал переключает режим отладки: если до отправки сигнала режим отладки был отключен, то он будет включен, и наоборот.

SIGUSR1

Этот сигнал отключает от сервера всех имеющихся клиентов. После этого могут устанавливаться новые подключения.

SIGUSR2

Этот сигнал закрывает сокеты сервера. После этого установка соединений будет невозможна. Запросы, активные до отправки сигнала, будут выполнены. После выполнения или истечении времени ожидания всех активных запросов mathopd завершит работу. Используйет этот сигнал для "вежливого" завершения работы.

ВЫХОД

mathopd добровольно завершает работу по следующим (за исключением аварий) причинам:

    −

после получения сигнала SIGTERM или SIGINT

    −

если не осталось активных соединений и не осталось активных серверов; это происходит через некоторое время после получения сигнала SIGUSR2, или если mathopd был запущен с файлом конфигурации, который не содержит ни одного ключевого слова Server.

    −

если ему не удалось открыть файл журнала, журнала ошибок или PID−файл; это может произойти только в процессе запуска сервера; если mathopd не может открыть файл журнала в процессе работы, он продолжит использовать файл журнала, который он уже открыл (смотри ниже)

    −

когда он не может писать в журнал доступа или журнал ошибок; например, если переполнился дисковый раздел, содержащий файл, то mathopd завершит работу при попытки его записи.

ФАЙЛЫ ЖУРНАЛОВ

Каждый час mathopd пере-открывает журналы доступа и ошибок, как если бы он принял сигнал SIGHUP. Например, если в файле конфигурации указано следующее:

Log /var/mathopd/accesslog
ErrorLog /var/mathopd/errorlog

а вы переименуете файл /var/mathopd/accesslog в /var/mathopd/accesslog.old, то mathopd прожолжит вести журнал в accesslog.old, но начнёт вести журнал в accesslog в начале следующего часа (с единственным исключением: если mathopd не может открыть новый файл accesslog по какой−либо причине, он *продолжит* вести журнал в файле accesslog.old.) То же самое применимо и к ErrorLog.

Из вышеописанного существуют два исключения: если значением Log или ErrorLog является "/dev/stdout" или "/dev/stderr", то журнал не будет подвергнут ротации: mathopd не будет пытаться пере-открывать эти файлы. Это сделано потому, что файлы /dev/stdout и /dev/stderr уже не будут доступны после того, как сервер запущен.

Имена файлов Log, ErrorLog и ChildLog дополняются текстом из функции strftime. Это значит, что если в их имени встретится, например, строка ’%Y’, она будет раскрыта в 4 цифры текущего года.

Например, если из файла конфигурации будет прочитано следующее:

Log /var/mathopd/log.%Y%m%d

В этом случае mathopd откроет файл /var/mathopd/log.20031204, будучи запущенным 4 декабря 2003 года, а затем автоматически закроет его и откроет файл /var/mathopd/log.20031205 с началом следующего дня.

За более подробной информацией по конструкции % обратитесь к страницам руководства date(1) и strftime(3).

АВТОР

mathopd был написан и все авторские права на него принадлежат Мичилу Боланду (Michiel Boland).

Страницу руководства приложил Джуэрден Дауберт (Juergen Daubert).

АВТОР ПЕРЕВОДА

Перевод на русский язык выполнил Владимир Ступин <vladimir@stupin.su>.

СМОТРИ ТАКЖЕ

mathopd.conf(5)