【问题标题】:Setting node.js site to auto-start when hosted in Azure Web app将 node.js 站点设置为在 Azure Web 应用程序中托管时自动启动
【发布时间】:2016-11-29 17:11:07
【问题描述】:

我有一个 Node.js 脚本,我想在 Azure 的 Web 应用程序上运行它。

这个脚本不是一个快速网站,而是一个工作脚本,它轮询数据库以执行工作,完成后它只是轮询和等待,例如它没有用户界面。

我注意到,在部署它之后,即使它是使用 iisnode 设置的,但在我启动浏览器并导航到 Azure Web 应用程序主机之前,它实际上不会启动,即使它没有 UI。

只有当我导航到它时,iisnode 才会开始记录并启动我的应用程序。然后它愉快地轮询数据库并执行所需的工作。

有谁知道如何让网站在部署时自动启动?

IIS 似乎有自动启动 web.config 设置,但我不知道如何让 iisnode 或 Azure Web 应用程序支持它。

我可以在只从站点执行 GET 的机器上设置一个 Web 作业,但这似乎有点矫枉过正和混乱。

【问题讨论】:

  • 您可以将此节点脚本作为 azure 函数应用程序运行,这是一种无服务器架构方法。这可以安排并且可以基于某些事件触发。我猜你是在循环中进行处理。因此您可以安排此应用在部署后立即启动。

标签: node.js azure iisnode


【解决方案1】:

您可以利用Function App 来满足您的要求。此外,构建没有 UI 的 Azure Web 应用程序的原始解决方案应该可以工作。

但是,请注意,Azure 应用服务将在空闲后被卸载。您可以启用始终开启应用程序设置,让应用程序始终处于加载状态。详情请参考https://azure.microsoft.com/en-us/documentation/articles/web-sites-configure/#application-settings

如有任何进一步的问题,请随时告诉我。

【讨论】:

  • 谢谢。我的理解是,功能应用程序的日志记录和调试支持不如完整运行的 Web 应用程序那么多。这仍然是真的吗?
  • Function App 是一种 Azure App Services,你可以在 Web 应用程序中配置,也可以在 Function Apps 中设置。此外,您可以自定义第三部分 nodejs 日志模块以进行故障排除。您可以参考更新图像。
  • 非常感谢 Gary,我会看看这个。很高兴看到 Function Apps 在 Azure 中获得更多功能。
猜你喜欢
  • 2016-11-30
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-12-19
相关资源
最近更新 更多