gpt4 book ai didi

node.js - Node 上有 2 个不同的端口,带有 azure

转载 作者:太空宇宙 更新时间:2023-11-03 22:14:32 24 4
gpt4 key购买 nike

我有这个 app.js 代码,可以在端口 :3000:3001 上进行调用

http = require('http');
var express = require('express');
var app = express();
var server = http.createServer(app).listen(3001);
var io = require('socket.io').listen(server,{log:false, origins:'*:*'});

底部是

.listen(3000);

因此,对于我在 azure 中的网络应用程序,我认为 :3001 未正确打开

在我的本地计算机上,我可以在端口 localhost:3000 上浏览此文件夹 Assets ,但要访问我的 /socket.io/socket.io.js 目录使用localhost:3001 这是执行我们想要的任务的代码结构的一部分。

我已经跑了很多 Node 和 azure 实验室,但他们都没有做这个特定的设置,如果我进入命令提示符并在本地运行app.js,我的网络应用程序在线再次工作,所以我假设端口 3001 在我的计算机上本地打开,而 azure 托管 3000,我需要某种方法使 Web 应用程序在不运行 VM 的情况下完成这两项操作,我不完全确定 azure Web 应用程序中可以实现什么。

最佳答案

Windows Azure 网站使用 IISNode 在 IIS 内托管 Node 进程。您的 Node 站点实际上有一个接收传入请求的命名管道,而不是像您在本地运行或托管自己时使用的 TCP 端口。即使您可以打开 TCP 端口,Azure 网站实际上也仅适用于传统网站,无法向外界开放端口。

如果您正在寻找这种类型的控件,您可能需要考虑虚拟机。它们提供了更大的灵 active ,但代价是您必须进行更多设置。使用虚拟机,您可以打开您选择的端口。

此外,您还可以利用云服务来满足您的需求。这是post about How to deploy multiple node apps in the same Azure instance供您引用。

关于node.js - Node 上有 2 个不同的端口,带有 azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33395424/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com