我正在尝试运行一个简单的节点应用程序。它在我的本地主机上工作正常,但是一旦我试图让它在我的云服务器上运行,它就不起作用。当我做"节点app.js"在正确的路径中,我得到了我的console.log Express server started on port %s', server.address().port
,它还说它是端口3000(Express服务器在端口3000上启动)。当我将server.listen
更改为另一个端口时,它会显示正确的端口。
现在,当我尝试通过我的域或通过我的ip(例如xx.xxx.xx.xx:3000)或我的域(my-domain.com:3000)运行它时,它都没有&#39工作。我想我并没有完全理解这个概念,我试图寻找十亿种不同的东西,但我无法找到解决问题的方法。有人能告诉我,我是否还需要设置别的东西?
答案 0 :(得分:4)
您的代码可能正在运行,但您的服务器未配置为允许访问端口3000.
确认您可以尝试将应用更改为端口80,这是默认设置,很可能已启用。
在主机文档中搜索“启用或打开端口”
答案 1 :(得分:2)
可能您的云托管服务提供商没有打开端口进行访问。尝试通常打开的端口80。
答案 2 :(得分:1)
我遇到了同样的问题。经过大量的检查,检查所有打开/使用过的端口并尝试各种其他东西之后,我终于发现自从我使用AWS以来,我必须通过安全组部分为我的AWS EC2实例启用该端口。
我必须在安全组部分中为端口号3000添加自定义TCP规则,我希望将其用于NodeJS服务器,之后NodeJS服务器开始在端口3000上响应。