Передайте флаги движку 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
ценность, как это взорвалась, когда я пытался, но это ортогонально.
Затем с любым файлом вы можете зафиксировать их в репозитории, чтобы он работал только при развертывании.