在Windows Azure Emulator中运行的Node.js Web应用程序

在Windows Azure Emulator中运行的Node.js Web应用程序,node.js,azure,Node.js,Azure,我一直在尝试在Windows Azure Emulator中运行Node.js,但不幸的是它不起作用。当然,我从一开始就开始了,Hello World应用程序,下面是中的步骤 我使用4台不同的计算机按照以下步骤操作,在所有情况下,页面都没有显示任何内容 我以管理员身份打开了Windows PowerShell环境。 我创建了节点目录 我输入了命令:PS C:\node>newazureservice任务列表 我输入了命令:PS C:\node\tasklist>addazurenodewebro

我一直在尝试在Windows Azure Emulator中运行Node.js,但不幸的是它不起作用。当然,我从一开始就开始了,Hello World应用程序,下面是中的步骤

我使用4台不同的计算机按照以下步骤操作,在所有情况下,页面都没有显示任何内容

我以管理员身份打开了Windows PowerShell环境。 我创建了节点目录 我输入了命令:PS C:\node>newazureservice任务列表 我输入了命令:PS C:\node\tasklist>addazurenodewebrole 在这里,我的应用程序是用上面的代码创建的:

var http = require('http');
var port = process.env.port || 1337;
http.createServer(function (req, res) {
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Hello World\n');
}).listen(port);
最后,我输入了命令:PS C:\node\tasklist\WebRole1>Start AzureEmulator-launch
现在我应该看到我的hello world页面了。问题是,如果有人在给定的教程中获得了成功?我做错了什么?

我认为你的情况与下面的文章类似。


我希望您能通过这些信息解决这个问题。

我认为您的案例与下面的文章类似。


我希望您可以通过此信息解决此问题。

您可以尝试使用以下命令直接在节点中运行此示例:

node server.js


并将浏览器指向。这会使Windows Azure emulator脱离画面,并可能指示是否存在其他问题。

您可以尝试使用以下命令直接在节点中运行该示例:

node server.js


并将浏览器指向。这会使Windows Azure emulator消失,并可能指示是否有其他问题发生。

我发现了与您完全相同的错误,并在Internet上查找了很长时间

总而言之,问题在于Azure的节点包中有一个脚本试图将网络服务的权限授予web根目录。 但是我的系统语言是it,所以我没有一个叫做网络服务的用户

因此,您需要编辑脚本。如果应用程序路径为C:\node\tasklist,则脚本位于

C:\node\tasklist\local_package.csx\roles\WebRole1\approot\bin\setup_web.cmd
只需更改这一行:

icacls ..\ /grant "Network Service":(OI)(CI)W
为此:

icacls ..\ /grant "NetworkService":(OI)(CI)W

这对我有用

我也犯了与你完全相同的错误,我在互联网上查找了很长时间

总而言之,问题在于Azure的节点包中有一个脚本试图将网络服务的权限授予web根目录。 但是我的系统语言是it,所以我没有一个叫做网络服务的用户

因此,您需要编辑脚本。如果应用程序路径为C:\node\tasklist,则脚本位于

C:\node\tasklist\local_package.csx\roles\WebRole1\approot\bin\setup_web.cmd
只需更改这一行:

icacls ..\ /grant "Network Service":(OI)(CI)W
为此:

icacls ..\ /grant "NetworkService":(OI)(CI)W

这对我有用

嗨,尼尔!谢谢你的帮助,我照你说的做了,我看到我的应用程序正在运行。但我希望看到它在WindowsAzure模拟器中工作。这就是重点!无论如何,谢谢你!我成功地运行了上述示例。Windows Azure对node.js的支持在工作者角色和web角色中的实现完全不同。由于它使用node.exe命令行成功运行,因此它应该在工作角色中成功运行,因为它刚刚启动node.exe。我将尝试上面的示例,使用worker角色而不是web角色。如果这也失败了,您可能希望尝试干净地安装Windows Azure SDK v1.6和Windows Azure for Node.js。您是否完全按照我说的运行?我不明白我做错了什么!我只是格式化我的电脑,然后再试一次。在通过Web安装程序API安装Azure for Node.js之外的任何东西之前,我完成了所有步骤。你在使用上周五发布的模拟器吗?嗨,尼尔!谢谢你的帮助,我照你说的做了,我看到我的应用程序正在运行。但我希望看到它在WindowsAzure模拟器中工作。这就是重点!无论如何,谢谢你!我成功地运行了上述示例。Windows Azure对node.js的支持在工作者角色和web角色中的实现完全不同。由于它使用node.exe命令行成功运行,因此它应该在工作角色中成功运行,因为它刚刚启动node.exe。我将尝试上面的示例,使用worker角色而不是web角色。如果这也失败了,您可能希望尝试干净地安装Windows Azure SDK v1.6和Windows Azure for Node.js。您是否完全按照我说的运行?我不明白我做错了什么!我只是格式化我的电脑,然后再试一次。在通过Web安装程序API安装Azure for Node.js之外的任何东西之前,我完成了所有步骤。你在使用上周五发布的模拟器吗?嘿,诺曼瑞安!这对我没用!我想原因是因为我对这篇文章有不同的理解。这里的版本是0.5.3,本文帮助解决了0.5.2版本的问题。谢谢你帮助我!嘿,正常人!这对我没用!我想原因是因为我对这篇文章有不同的理解。这里的版本是0.5.3,本文帮助解决了0.5.2版本的问题。谢谢你帮助我!这真是个奇迹!它就像一个符咒!为什么一个愚蠢的空白会让我失去这么多
时间非常感谢你!我也这么想。。。仅供参考,该文件是从位于C:\Program Files x86\Microsoft SDK\Windows Azure\Nodejs\Nov2011\PowerShell\scaffolding\Node\WebRole\bin\setup\u web.cmd的scaffolding文件生成的。您应该编辑该文件,否则您将不得不修改将来生成的每个新包。这是一个好把戏!事实上,我停止了使用azure emulator的尝试,因为我无法做到这一点,我遇到了Cloud9!但这很有帮助!谢谢你把时间浪费在我的怀疑上!有人为此在上提交了一个bug吗?我刚刚提交了。希望有人能尽快解决这个问题。这真是个奇迹!它就像一个符咒!为什么一个愚蠢的空白让我对时间失去那么多非常感谢你!我也这么想。。。仅供参考,该文件是从位于C:\Program Files x86\Microsoft SDK\Windows Azure\Nodejs\Nov2011\PowerShell\scaffolding\Node\WebRole\bin\setup\u web.cmd的scaffolding文件生成的。您应该编辑该文件,否则您将不得不修改将来生成的每个新包。这是一个好把戏!事实上,我停止了使用azure emulator的尝试,因为我无法做到这一点,我遇到了Cloud9!但这很有帮助!谢谢你把时间浪费在我的怀疑上!有人为此在上提交了一个bug吗?我刚刚提交了。希望有人能尽快解决这个问题。