代码之家  ›  专栏  ›  技术社区  ›  afriedman111

Angular应用程序未在Azure应用程序服务内运行

  •  1
  • afriedman111  · 技术社区  · 1 年前

    我在将Angular应用程序部署到新的Azure应用程序服务时遇到问题。

    我正确设置了部署。对于CI,我设置了它,以便它在主分支上检查我的github repo,并在有签入时重新部署。它创建了一个github-actions-yml文件,我更新了它以安装、构建和部署我的应用程序。我已经验证了它正在部署构建的文件。当我推送到该分支时,我的github操作工作流启动,部署中心检测到我的应用程序服务,并成功完成。

    当我导航到应用程序页面的url时,我会收到消息“您的网络应用程序正在运行,正在等待您的内容”。

    我已经验证了我的文件已经通过scm.azurewebsites.net调试控制台上传到site/wwwroot/目录中。当我部署更改时,该目录中的文件会反映这些更改。我尝试在应用程序服务中包含一个web.config文件,该文件与以前的Angular应用程序一起使用。我已经验证了它也被上传到了根文件夹中。

    什么都不管用。看起来我把所有东西都准备好了,只是它不识别内容。如何让应用程序服务识别我的content/index.html文件?

    1 回复  |  直到 1 年前
        1
  •  1
  •   akseli    1 年前

    您需要检查以下几件事:

    1. 确保您已正确设置 Runtime Stack Node {Version}
    2. 您将需要到Angular站点的正确路径,并且在 App Settings --> Configuration --> General Settings 您将要将以下内容添加到 Startup Command :
    pm2 serve /home/site/wwwroot --no-daemon --spa
    

    显然,您需要替换命令中的路径。

    更新: 如果你的Angular应用程序是一个静态网站,你可能想考虑使用 Azure Storage Account 。您可以创建一个新的 Azure存储帐户 ,并且一旦创建了资源,就可以使用 Data management --> Static Website 选项设置您的存储帐户以提供静态内容。 如果您想添加自定义域和SSL证书,则可以创建一个新的 CDN Profile 提供您的文件 $web 直接在您新创建的存储帐户中。 就我个人而言,我发现这种方法效果很好,并降低了托管成本。 你可以找到一个完整的演练 here.

    推荐文章