0

我们目前正在将一个自托管的 koa 应用程序移动到 Azure 网站上的 IISNode。

在自托管中,我们通过调用 node --harmony ./bin/application 请求来初始化应用程序,然后转到 ./index.js。

但是我们找不到如何设置 IISNode 在初始化时调用“bin/application”。

有任何想法吗?谢谢

4

2 回答 2

1

不确定这是不是相同的场景,但是当 express.js 开始使用 ./bin/www 作为 express.js 应用程序的入口点时,我遇到了类似的情况。最初它破坏了一切,但现在我们在 package.json 中查找“脚本”条目来告诉 Azure 如何为应用程序配置 IISNode。对于 express,它会生成一个如下所示的“脚本”条目:

“脚本”:{“开始”:“节点 ./bin/www”},

当 Azure 看到这一点时,它会在使用 ./bin/www 作为入口点的服务器上生成一个 web.config。

所以...我首先要说的是,尝试将“脚本”条目添加到指向您的 ./bin/application 文件的 package.json 中,然后尝试将其部署到 Azure。希望这“有效”。如果没有,请尝试将 web.config 添加到应用程序的根目录,使用https://gist.github.com/Blackmist/8677359708fd30779c77作为内容。这应该将 IISNode 指向 ./bin/application 文件作为入口点,并且是 Azure 网站在看到 package.json 文件中的“脚本”条目时应该自动生成的内容。

您将遇到的另一个问题是使用 Node.js v0.11.13,我不相信它默认包含在 Azure 网站中,并通过 --harmony 开关。http://azure.microsoft.com/en-us/documentation/articles/nodejs-specify-node-version-azure-apps/有一节介绍了将 node.js 的版本作为您网站的一部分。在 iisnode.yml 文件中,您希望有类似于以下内容的行:

nodeProcessCommandLine: d:\home\site\wwwroot\bin\node.exe --harmony

我相信这应该使这项工作。

于 2014-09-15T14:15:28.427 回答
0

您可以为 Azure 网站设置自定义部署脚本。

此博客文章包含有关如何使用它的详细信息:http: //blog.amitapple.com/post/38417491924/azurewebsitecustomdeploymentpart1/#.VBcrnPldXIc

于 2014-09-15T18:11:40.650 回答