Как обновить версию iisnode в образе облачной службы Windows Azure

У меня был рабочий веб-сайт Windows Azure, на котором работало мое приложение node.js, и все работало нормально. Мне пришлось запустить собственный модуль node.js (волокна), что потребовало перехода на облачную службу Windows Azure. Я использовал мастер Convert to Azure Cloud Service, который создал веб-роль, которая позволила мне развернуть приложение в качестве облачной службы и запускать волокна в узле. Все идет нормально.

Мое приложение требует WebSockets, которые поддерживаются на веб-сайтах Azure (более или менее автоматически, когда вы включаете его из config UX). Я боролся за то, чтобы WebSockets работал с облачной службой в течение нескольких дней, и я решил, что моя проблема в том, что версия iisnode, которая по умолчанию запускается в облачной службе, слишком старая, чтобы поддерживать узел.js WebSockets в нормальный способ. Облачная служба устанавливает iisnode версии 1.21, а поддержка WebSockets в iisnode не появлялась до версии 2.0 (я понятия не имею, почему образ облачной службы использует эту жесткую старую версию iisnode).

Обратите внимание, что я не хочу использовать рабочую роль и слушать другой порт (который я собираю, как многие люди решают эту проблему).

К сожалению, я не могу понять, как установить более актуальную версию iisnode в моей облачной службе (я понимаю, что можно запустить установщик при запуске облачной службы (возможно, через setup_web.cmd), но это далеко как я получил.

Есть ли какие-либо указания на то, что мне нужно сделать, чтобы моя облачная служба Azure работала с более новой версией iisnode?

1 ответ

Чтобы обновить версию iisnode, установленную в размещенной службе Azure, вам необходимо:

  1. Загрузите новейший установщик x64 для iisnode с веб-сайта http://go.microsoft.com/?linkid=9784331
  2. Включите этот файл *.msi в пакет, который вы развертываете в размещенной службе.
  3. В вашем setup_web.cmd установите новый iisnode с msiexec /i iisnode-full-iis7-v0.2.7-x64.msi /passive, Это должно быть выполнено от имени администратора, но тогда я считаю, что setup_web.cmd уже работает от имени администратора.

В качестве альтернативы, для одноразовой установки вы можете просто установить TS на машину и установить ее вручную.

Кстати, что мешает вам использовать собственный модуль на веб-сайтах Windows Azure?

Другие вопросы по тегам