Linux 节点-什么';我的应用程序出了什么问题?
我在端口80上运行了httpd,我正在尝试将一个节点应用程序绑定到端口8080 这是:Linux 节点-什么';我的应用程序出了什么问题?,linux,node.js,Linux,Node.js,我在端口80上运行了httpd,我正在尝试将一个节点应用程序绑定到端口8080 这是: var server = require('http').createServer(function(req, res){ res.writeHead(200, {'Content-Type': 'text/plain'}); res.end('Hello World\n'); }); server.listen(8080); 显然,我们已经通过ssh命令行运行了它 node myApp.
var server = require('http').createServer(function(req, res){
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
});
server.listen(8080);
显然,我们已经通过ssh命令行运行了它
node myApp.js
但每当我打字的时候”http://my-domain:8080/“在浏览器中,它只是挂起,什么也不给我。”
我尝试了一系列不同的端口,并监听了主机名0.0.0.0,所有这些都给出了相同的结果
已按照建议的注释运行netstat,结果如下:
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 3894/node
我在nan非托管VPS上使用centOS
编辑:看起来这是一个防火墙问题,有人能告诉我如何为CentOS VPS配置防火墙的正确方向吗 可能是您的防火墙设置。在服务器上的shell提示符中,尝试连接
curl
curl -v http://localhost:8080/
如果您可以通过本地主机
访问它,但不能通过浏览器访问,则很可能存在防火墙问题
如果您可以通过localhost
访问服务器,那么接下来要做的就是通过IP地址从外部测试服务器。如果您可以通过IP地址访问它,那么您就有DNS问题。如果您无法从外部通过IP地址访问它,那么您就有防火墙问题
防火墙问题是特定于平台的。我们需要知道平台,为您指明正确的方向。试着写:
var http = require('http');
http.createServer(function (req, res) {
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end('Hello World\n');
}).listen(8080);
console.log('Server running ');
.listen(8080)代码>在同一行中
或者使用服务器上的localhost:8080/
运行它,他可能会从外部阻止它您可以发布netstat-ptan | grep8080
的输出吗?相应地编辑了问题:)对我来说,它似乎是在2222端口上运行,而不是在8080端口上运行。是什么让你在22222上发了grep?哦,这是在22222上试过的,我在8080、328001和其他很多机器上试过,结果都一样。运行服务器的机器和你的桌面一样吗?如果是http://localhost:8080
应该可以。如果不是,客户端和服务器之间的关系是什么?我可以通过curl和localhost连接!!你知道我如何解决这个防火墙问题吗?非常感谢你,伙计!!我可以通过IP地址访问httpd服务器,但不能通过节点1:即http://*我的服务器IP*/将我带到php应用程序,但http://*我的服务器IP*:8080/不能。我确认这意味着我有防火墙问题;我在非托管VPS上使用CentOS