Передайте флаги движку NodeJS Chrome V8 в веб-приложениях Azure

Я развернул приложение NodeJS в веб-приложениях Azure. Как передать флаги движку NodeJS Chrome V8?

На моем локальном компьютере я могу сделать это легко, запустив серверный скрипт, как показано ниже.

node -nouse-idle-notification -expose-gc -max-old-space-size=8192 server.js

Где указать эти флаги в Azure Web Apps?

1 ответ

Решение

Вы можете сделать это либо в iisnode.yml или в web.config, Если вы развертываете через git, скорее всего, у вас их нет в репозитории. Вы можете получить сгенерированный по умолчанию web.config с помощью консоли Kudu и найти его под d:\home\site\wwwroot, По умолчанию нет iisnode.yml совсем.

Использование iisnode.yml

Просто поместите следующую строку в iisnode.yml:

nodeProcessCommandLine: node.exe --nouse-idle-notification --expose-gc --max-old-space-size=1024

Или, если вы используете полный путь к версии Node, вам нужно будет процитировать его, например,

nodeProcessCommandLine: "D:\Program Files (x86)\nodejs\5.7.1\node.exe" --nouse-idle-notification --expose-gc --max-old-space-size=1024

Использование web.config

В конце файла вы увидите закомментированный <iisnode> тег. Замените это примерно так:

<iisnode nodeProcessCommandLine="node.exe --nouse-idle-notification --expose-gc --max-old-space-size=1024"/>

Заметки

  • iisnode.yml имеет приоритет над web.config
  • Я опустил твой max-old-space-size ценность, как это взорвалась, когда я пытался, но это ортогонально.

Затем с любым файлом вы можете зафиксировать их в репозитории, чтобы он работал только при развертывании.

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