部署到Linux App Service时Angular CLI应用未运行

时间:2019-03-09 19:06:22

标签: linux azure azure-devops angular-cli azure-web-app-service

我正在尝试使用Azure Dev Ops将Angular CLI应用程序部署到Linux OS上的Azure App Service-但没有成功。我得到图像1。服务器或应用程序日志中没有错误。

Image 1

这是我到目前为止所做的:

  1. 使用DevOps Build构建Angular CLI应用程序,并将生成的“ dist”文件夹放置到“ drop”文件夹中。参见下面的(图2)构成我的构建的任务。这可以正常工作并创建所需的文件。

Image 2

  1. 在DevOps中创建了一个发行版,将所有dist文件部署在Linux中的Azure应用服务的wwwroot文件夹中。运行ng build --prod后,下面显示的是wwwroot文件夹(左)和本地dist文件夹(右)。

Image 3

我怀疑我在部署时需要通过花一些时间来启动角度。我试过运行“ ng serve --host 0.0.0.0”,但是没有用。

6 个答案:

答案 0 :(得分:3)

我必须给npx serve -s作为启动命令enter image description here

然后使用节点框架Runtime Stack设置10.16 (NODE|10.16)。见下文enter image description here

然后一切开始起作用。

答案 1 :(得分:1)

使用Linux App Service容器时,您还可以选择包含Apache2服务器的PHP堆栈。由于Angular文件是静态文件(JS,CSS,HTML),因此您只需要一些Web服务器即可提供此内容。

示例配置:enter image description here

答案 2 :(得分:0)

如果您查看默认的“将Node.js应用程序部署到Azure App Service”发行版,它将使用“部署Azure应用程序服务”任务并将以下命令添加到该任务。这可能会帮助您。

enter image description here

答案 3 :(得分:0)

如果您仍想使用App Service-Web App,则只能使用 Windows操作系统代替 Linux。

这是我使用的参数:

由于building angular的输出是静态Web应用程序,因此IIS将立即为网站提供服务。

答案 4 :(得分:0)

在此页面上检查“ Azure应用服务> Linux”部分。本质上,您必须提供该应用程序。您可以使用PM2文件进行配置。

https://burkeknowswords.com/this-is-how-to-easily-deploy-a-static-site-to-azure-96c77f0301ff

我还在App Service配置>常规设置>启动命令中添加了npx serve -s

答案 5 :(得分:0)

我在使用 Linux 和 Node 的 Azure 应用服务上遇到了同样的问题,使用下面的启动命令解决了这个问题

pm2 serve /home/site/wwwroot --no-daemon --spa

Snapshot from my DevOps pipeline