使用new-azwebapp时如何选择运行时环境?

时间:2019-09-06 11:34:38

标签: azure azure-powershell

我目前正在构建一个脚本来自动化创建Azure Web应用程序。前端内置在react中并且可以很好地部署。后端是使用node构建的,发布后不会运行。我认为默认情况下,New-AzWebApp创建一个.net Windows运行时环境,并且我想要一个Linux node.js环境。我需要知道如何在一个天蓝色的powershell脚本中设置它。

创建应用后,我已经尝试过更改应用设置。通过Set-AzWebApp将WEBSITE_NODE_DEFAULT_VERSION更改为10.16.3

New-AzWebApp -Name backend$webappname -Location $location -AppServicePlan $webappname -ResourceGroupName discoverTest$workItemId `

这将创建应用程序,但是当文件上传后,该应用程序将无法运行。我认为我需要正确的运行时环境,但我不知道如何设置它。

2 个答案:

答案 0 :(得分:0)

以下是在Azure中创建新的Web应用的示例定义命令:

New-AzWebApp
   [-ResourceGroupName] <String>
   [-Name] <String>
   [-Location] <String>
   [[-AppServicePlan] <String>]
   [[-SourceWebApp] <PSSite>]
   [[-TrafficManagerProfile] <String>]
   [-EnableContainerContinuousDeployment]
   [-IgnoreSourceControl]
   [-IgnoreCustomHostNames]
   [[-AppSettingsOverrides] <Hashtable>]
   [[-AseName] <String>]
   [[-AseResourceGroupName] <String>]
   [-IncludeSourceWebAppSlots]
   [-AsJob]
   [-DefaultProfile <IAzureContextContainer>]
   [-WhatIf]
   [-Confirm]
   [<CommonParameters>]

-AseName 是可用于设置环境的应用程序服务环境。

参考:

https://docs.microsoft.com/en-us/azure/app-service/environment/intro

https://docs.microsoft.com/en-us/azure/app-service/app-service-web-app-cloning

希望有帮助。

答案 1 :(得分:0)

首先,请确保您的资源组中有一个 Linux 应用服务计划。并参见Linux上Azure应用服务中的Supported Versions of Node.js,可能不支持10.16.3

enter image description here

然后您可以尝试以下命令,我的示例使用10.14 node.js版本。

#Create a Linux web app
New-AzWebApp -ResourceGroupName <ResourceGroupName> -Name <web-app-name> -AppServicePlan <linux-app-service-plan-name> 
#set it with node.js 10.14 
$config = Get-AzResource -ResourceGroupName <ResourceGroupName> -ResourceType Microsoft.Web/sites/config -ResourceName "<web-app-name>" -ApiVersion 2018-02-01
$config.Properties.linuxFxVersion = "NODE|10.14"
$config | Set-AzResource -ApiVersion 2018-02-01 -Force

enter image description here