ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
Nginx-ru mailing list archive (nginx-ru@sysoev.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Вопрос про модули nginx'а


  • To: nginx-ru@xxxxxxxxx
  • Subject: Вопрос про модули nginx'а
  • From: Anton Dutov <anton.dutov@xxxxxxxxx>
  • Date: Wed, 4 Nov 2009 07:20:15 +0500
  • Dkim-signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:date:message-id:subject :from:to:content-type:content-transfer-encoding; bh=8sJplU5Frc6FgoAsZEQYnvhNpsC+7SCWerSGfnhLk7o=; b=poHIxjISVTIPmu9ed15fQaD2cfnjl/CRt1xnINy2PrA1+nCLhkDwto3iMDk1Ad0XFz VkWkAn7/EqaL+ssl9E4zMTmjd0p3pQiha09MVvneCojw+jkMRbW9LDHYTT6MS5V/aQV+ 59GEIueJ0IXiwJU88PPeq3qOqsnhARKY6KHyI=
  • Domainkey-signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:date:message-id:subject:from:to:content-type :content-transfer-encoding; b=M1CsZBF8svsIiYqyLtdsTCkmPPSUgabJXLYgBr2FY+Vv8pIm4iekT3A8rj1cfzrLFr lg+KwyiTmQDqYKl3qLzRLSADe/GlEHunYAXHcfVcyMx8/oEhzNqUG34Tvd9L2FmwCZjt w+yjSduH4GVGw10wa3VTuOwPhvB6bKY32Yw/s=

Доброго времени суток.

Написал модуль для nginx'а
Исходники: http://hg.dutov.org/nginx-module-events/archive/tip.zip
(сам файл можно посмотреть так
http://hg.dutov.org/nginx-module-events/file/35dd8bf623e2/ngx_http_events_module.c)
Докуметация: http://docs.dutov.org/nginx_modules_events_ru.html

Кратко - модуль выполняет системные команды которые определены внутри
секции виртуального сервера  запуске и останавливет при остановке
nginx.
задумывалось(и задумка работает) что модуль будет автоматически
подымать и опускать связанный с виртуал сервером контент.
Команды запуска выполняется сейчас в обработке парсера комманд а
комманды остановки при _exit master_
то есть
...
ngx_http_events_commands, /* module directives */
...
static ngx_command_t ngx_http_events_commands[] = {
{ ngx_string("on_start"),
NGX_HTTP_SRV_CONF|NGX_CONF_1MORE,
ngx_http_events_args,
...
ngx_http_events_args(ngx_conf_t *cf, ngx_command_t *cmd, void *conf)
{
...
   system(cmd);

Вопросы:
1. меня терзают смутные сомнения - что если по какой либо причине не
пройдет парсинг конфигурации и nginx аварийно завершится - то мои
команды старта выполнятся - и контекст приложений будет висеть?

2. обрабатывает ли nginx _exit master_ у тех модулей которые были
зарегистрированы до ошибки конфига?

3. Обработчик __init master__ выполняется после обработки кофигурации?
если это так то логично ли перенести запуск команд старта туда или
есть ньюансы?

4. Если один из модулей во время __init master__ вернет ошибку - и
nginx аварийно завершится - получат ли модули __exit master__


 




Copyright © Lexa Software, 1996-2009.