IIS облачной службы Windows Azure иногда возвращает ошибку 503

Я разрабатываю приложение node.js для облачных служб Azure. Все работает отлично, НО иногда мое приложение возвращает ошибку 503 при развертывании в Azure без особой причины. Я подключился к виртуальной машине роли через удаленный рабочий стол и обнаружил следующую ошибку в списке событий, соответствующую времени возврата кода 503:

Процесс, обслуживающий пул приложений 6cd02903-1cba-4667-9d0b-20883ad3f0de, неожиданно завершился. Идентификатор процесса был «2284». Код завершения процесса был «0xfffffffe».

Я попытался найти это сообщение об ошибке в Google, и кажется, что неправильная конфигурация IIS обычно вызывает проблему, но в этом случае она кажется постоянной, а не только иногда, как в моем опыте. Также я не уверен в изменении конфигурации IIS на готовых серверах веб-ролей, предоставляемых Azure. У меня есть ощущение, что это как-то связано с узлом, скорее всего, проблема с iis-узлом.

Любая помощь в отладке проблемы будет принята с благодарностью.


person bbbonthemoon    schedule 11.07.2012    source источник
comment
Есть ли причина, по которой вы не устанавливаете свое лазурное приложение как «рабочее» и не обходите IIS вместе?   -  person Ryan Olds    schedule 11.07.2012
comment
ну, боюсь, следуя этому пути, я мог бы просто настроить свой выделенный сервер и обойти все вместе Azure Cloud Services :-) Я стараюсь придерживаться и использовать службы так, как они предназначены. В любом случае, предложения node-iis имеют некоторые приятные функции (обслуживание статических файлов, перезапуск процесса при сбое и т. д.).   -  person bbbonthemoon    schedule 11.07.2012
comment
@bbbonthemoon - Из любопытства, какова была основная причина и окончательное решение проблемы?   -  person anon    schedule 24.11.2014


Ответы (1)


Прежде всего, такой сбой отражает сбой вашего домена приложения из-за какого-то исключения в вашем веб-приложении. Такие проблемы являются критическими. Поскольку вы используете node.js, вполне возможно, что какой-то ваш код может быть причиной такой проблемы, однако эту проблему необходимо тщательно изучить.

ЕСЛИ вы отключите «Быструю защиту от сбоев» в своем пуле приложений, вы можете избежать проблемы, но не знаете, как долго, потому что, если у вас есть какие-либо проблемы с кодом в любом месте, лучше сначала решить проблему, а не маскировать ее.

Поскольку ваш код выхода 0xFFFFFFFE, что связано с кодом CLEAN_WORKER_PROCESS_EXIT_CODE, означает, что процесс был завершен без ошибок, поскольку сбой не был внезапным/принудительным. Что вы можете сделать, так это сначала RDP к вашей виртуальной машине Azure (я надеюсь, у вас есть виртуальная машина меньшего или большего размера), а затем Инструменты диагностики отладки для исследования проблемы сбоя IIS. ЕСЛИ вы не можете решить эту проблему, обратитесь в Windows Azure. Обратитесь в службу поддержки за бесплатной помощью, и они помогут вам решить эту проблему.

person AvkashChauhan    schedule 11.07.2012
comment
спасибо за полезный ответ. Если мои приложения не работают, я думаю, что самый простой способ отладить ошибку — увидеть STDOUT сценария. Знаете ли вы, где его найти или как включить Windows-Azure для его записи? Спасибо - person bbbonthemoon; 12.07.2012
comment
Я не уверен в том, как node.js stdout записывается на машине с Windows, потребуется некоторое время, чтобы взглянуть. Например, сообщение Debug Traces собирается службой диагностики Windows Azure, а затем отправляется в хранилище Azure, если оно настроено. Для node.js, если вы можете каким-то образом зарегистрировать эти стандартные вывода в журнале событий или в виде трассировок, монитор диагностики может их обнаружить. - person AvkashChauhan; 12.07.2012