как правильно обновлять обработчики (без TERM)?

Kirill V Karatyshov kk at nthost.ru
Wed Aug 9 01:14:45 MSD 2006


Добрый день.
nginx 0.3.49
Первый вопрос -- есть ли способ перезагрузки обработчиков без жёсткого
рестарта? Насколько я понял, по -HUP обработчики перезагружаются только если
их переименовать (и изменить имена в конфиге), а TERM не всегда можно
сказать (в каждый момент с сервера неск. сот человек чего-нибудь качают).

Второе... захотелось написать небольшой обработчик для парсинга ссылок в
shtml-файлах. Сами файлы выглядят примерно так:

<!--#include virtual="/ssi/head.shtml"-->
<!--#include virtual="./article.txt"-->
<!--#include virtual="/ssi/foot.shtml"-->

Собсно, написать написали, но вот прикрутить не смогли:

perl_require /opt/home/shtmlparser.pm;

    location ~* \.shtml$ {
            perl shtmlparser::handler;
        }


в итоге такого, shtml файлы начали отдаваться без обрабтки ssi-команд (т.е.
в виде, приведённом выше), т.е. видимо произошёл какой-то внутренний
конфликт. Но самое интересное, что закомментировав эти строки и перезагрузив
сервер по -HUP, обработчик заработал! Обнаружилось это случайно какое-то
время спустя, и повторить не удалось, но то, что ссылки подсвечивались до
след. перезагрузки -- это совершенно точно. В общем, как добиться
адекватного поведения в данном случае?



More information about the nginx-ru mailing list