Host Node.js Socket.io作为Azure应用程序
我使用Visual Studio创建Node.js Socket.io应用程序。它在本地运行良好。 当我将其发布为Azure应用程序时,出现错误: “由于发生内部服务器错误,无法显示页面。” 有人知道问题出在哪里吗?我正在考虑端口80,它是Azure应用程序(+443)的唯一开放端口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
我尝试侦听端口80,但又出现了相同的错误。Azure应用程序服务使用IISNode与node.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应用程序服务使用IISNode与node.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,请帮助我。。。