2017-03-23 132 views
0

我正在关注如何将使用Socket.IO的Node.js聊天应用程序部署到Azure Cloud Service上的this教程。我没有使用教程中提供的聊天示例,而是写了一些改进和其他功能,但总体结构基本相同。无法在Microsoft Azure上部署简单的Node.js应用程序

一切工作正常,我也测试了我的应用程序使用模拟器,它按预期工作。但是,我似乎无法正确地在Azure服务上发布它。

我进入以下cmdlet:

Publish-AzureServiceProject -ServiceName mychatapp0323 -Location "East US" -Launch 

并在下文中,我得到消息:

PS C:\node\chatapp\WorkerRole1> Publish-AzureServiceProject -ServiceName mychatapp0323 -Location "East US" -Launch 
WARNING: Publishing mychatapp0323 to Microsoft Azure. This may take several minutes... 
WARNING: 12:02:17 AM - Preparing runtime deployment for service 'mychatapp0323' 
WARNING: 12:02:17 AM - Verifying storage account 'mychatapp0323'... 
WARNING: 12:02:52 AM - Preparing deployment for mychatapp0323 with Subscription ID: 
0xxxxx8-xxx2-4xxe-8xx8-8xxx67xxxxx0... 
WARNING: 12:04:22 AM - Connecting... 
WARNING: 12:04:24 AM - Creating... 
WARNING: 12:04:26 AM - Created hosted service 'mychatapp0323'. 
WARNING: 12:04:27 AM - Uploading Package to storage service mychatapp0323... 
WARNING: 12:04:58 AM - Starting... 
WARNING: 12:06:04 AM - Created Deployment ID: 13df765e37e840cdb54a998498ab1745. 
WARNING: 12:06:04 AM - Initializing... 
WARNING: 12:09:06 AM - Instance WorkerRole1_IN_0 of role WorkerRole1 is busy. 
Publish-AzureServiceProject : An error occurred while sending the request. 
At line:1 char:1 
+ Publish-AzureServiceProject -ServiceName mychatapp0323 -Location "Eas ... 
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 
    + CategoryInfo   : CloseError: (:) [Publish-AzureServiceProject], HttpRequestException 
    + FullyQualifiedErrorId : Microsoft.WindowsAzure.Commands.CloudService.PublishAzureServiceProjectCommand 

,因为我进入了cmdlet的至少2小时后没有出现错误信息,并且它在很长时间(超过一个小时)停留在此线上:

WARNING: 12:09:06 AM - Instance WorkerRole1_IN_0 of role WorkerRole1 is busy. 

任何ide为什么会发生这种情况?我写的聊天应用程序可以找到here

回答

0

我把你的应用程序和它构建在我的本地环境中。它没有按预期工作。我认为以下内容会引发您的问题:

1)请考虑将您的dependencies npm模块更新到最新版本。

2)在您的server.js文件中,您需要ipmongodb模块,但您尚未将它们包含在dependencies部分。

因此,我将dependenciespackage.json文件更改为类似下面的文件,然后运行。

"dependencies": { 
    "express": "^4.15.2", 
    "jade": "^1.11.0", 
    "nib": "^1.1.2", 
    "socket.io": "^1.7.3", 
    "stylus": "^0.54.5", 
    "ip": "^1.1.5", 
    "mongodb": "^2.2.25" 
} 
+0

是的,那确实解决了我的问题。但是,将它部署在Azure App Service上_without_交替显示'package.json'文件也是为我工作的。奇怪的。 –

相关问题