Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Host Node.js Socket.io作为Azure应用程序_Node.js_Azure_Socket.io_Azure Web App Service - Fatal编程技术网

Host Node.js Socket.io作为Azure应用程序

Host Node.js Socket.io作为Azure应用程序,node.js,azure,socket.io,azure-web-app-service,Node.js,Azure,Socket.io,Azure Web App Service,我使用Visual Studio创建Node.js Socket.io应用程序。它在本地运行良好。 当我将其发布为Azure应用程序时,出现错误: “由于发生内部服务器错误,无法显示页面。” 有人知道问题出在哪里吗?我正在考虑端口80,它是Azure应用程序(+443)的唯一开放端口 我尝试侦听端口80,但又出现了相同的错误。Azure应用程序服务使用IISNode与node.exe进程对话。这在命名管道上发生。 将应用程序配置为使用命名管道而不是套接字 i、 e 替换 app.set('por

我使用Visual Studio创建Node.js Socket.io应用程序。它在本地运行良好。 当我将其发布为Azure应用程序时,出现错误:

“由于发生内部服务器错误,无法显示页面。”

有人知道问题出在哪里吗?我正在考虑端口80,它是Azure应用程序(+443)的唯一开放端口


我尝试侦听端口80,但又出现了相同的错误。

Azure应用程序服务使用IISNodenode.exe进程对话。这在命名管道上发生。 将应用程序配置为使用命名管道而不是套接字

i、 e

替换

app.set('port', 3000);

在门户中启用WebSockets,重新启动Web应用程序,您应该已经启动并运行了

[Gary Liu是正确的,不需要设置。但是,使用应用程序服务上的示例Socket.IO聊天实现,Socket.IO似乎并不关心我如何在门户中设置“WebSocket”。这两种方式都有效。]

由于内部服务器错误的计算相当于可观察范围内存在故障,因此您还应该为节点应用程序启用日志记录,至少在开发阶段:
发件人:

要启用开发人员错误,请在IISNode.yml文件中添加以下行:

deverrorEnabled:true

启用此选项后,IISNode将返回发送到stderr的最后64K信息,而不是友好错误,如“发生内部服务器错误”

有关iisnode的更多信息:

有关命名管道的更多信息:

Azure应用程序服务使用IISNodenode.exe进程对话。这在命名管道上发生。 将应用程序配置为使用命名管道而不是套接字

i、 e

替换

app.set('port', 3000);

在门户中启用WebSockets,重新启动Web应用程序,您应该已经启动并运行了

[Gary Liu是正确的,不需要设置。但是,使用应用程序服务上的示例Socket.IO聊天实现,Socket.IO似乎并不关心我如何在门户中设置“WebSocket”。这两种方式都有效。]

由于内部服务器错误的计算相当于可观察范围内存在故障,因此您还应该为节点应用程序启用日志记录,至少在开发阶段:
发件人:

要启用开发人员错误,请在IISNode.yml文件中添加以下行:

deverrorEnabled:true

启用此选项后,IISNode将返回发送到stderr的最后64K信息,而不是友好错误,如“发生内部服务器错误”

有关iisnode的更多信息:

有关命名管道的更多信息:

要在Azure Web应用程序上构建socket.io应用程序,请注意以下几点:

  • Node.js服务器侦听
    端口的设置应类似于
    process.env.port | 3000`

  • 验证web.config设置,确认
    以禁用IIS WebSocket模块,该模块包括其自己的WebSocket实现,并与Node.js特定的WebSocket模块(如Socket.IO)冲突

有关更多详细信息,请参阅


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

要在Azure Web Apps上构建socket.io应用程序,请注意以下几点:

  • Node.js服务器侦听
    端口的设置应类似于
    process.env.port | 3000`

  • 验证web.config设置,确认
    以禁用IIS WebSocket模块,该模块包括其自己的WebSocket实现,并与Node.js特定的WebSocket模块(如Socket.IO)冲突

有关更多详细信息,请参阅


任何进一步的问题,请随时通知我。

当我在Azure上托管socket.io应用程序时,我必须使用专门用于“Node.JS应用程序”的Azure应用程序。您是从Azure dashboard创建的,而不是Visual Studio在发布时默认创建的吗?是的,我从Azure dashboard创建了Node.JS应用程序,如果我没记错的话,我使用了一个特定的GIT部署URL,我把它放进了VSI中。你能告诉我模板名吗?谢谢在Azure:Node JS Empty Web App中创建“新”项目时,有一个选项。另请检查此处:我使用GIT url从VS部署。当我在Azure上托管socket.io应用程序时,我必须使用专门用于“Node.JS应用程序”的Azure应用程序。您是从Azure dashboard创建的,而不是Visual Studio在发布时默认创建的吗?是的,我从Azure dashboard创建了Node.JS应用程序,如果我没记错的话,我使用了一个特定的GIT部署URL,我把它放进了VSI中。你能告诉我模板名吗?谢谢在Azure:Node JS Empty Web App中创建“新”项目时,有一个选项。这里也检查一下:我使用GIT url从vs谢谢你部署!我的Azure应用现在已上线。谢谢!我的Azure应用现在是live。Liu,我需要创建一个名为web.config的文件,并需要添加
以禁用IIS?我的应用程序正在使用轮询而不是WebSocket,请帮助我…刘,我需要创建一个名为web.config的文件,并需要添加
以禁用IIS?我的应用程序正在使用轮询而不是WebSocket,请帮助我。。。