Node JS 没有监听服务器上的 1337 端口
Node JS not listening to port 1337 on server
我正在尝试在 Google 托管的特定 lamp 服务器上打开一个端口,并且我通过 ssh 连接到该服务器。
我已经按照 this link 配置了 nvm 和最新的 Node JS(v0.12.5)。安装后,我在 "server.js" 文件中使用了此演示代码并使用命令 "node server.js",看起来 Node JS 是 运行,在服务器上给出此消息 "Server ready"安慰。现在的问题是,当我使用 "netstat -n" 检查打开的端口时,我没有看到任何 1337 端口打开,这应该是。我也尝试使用 "serverIPaddress:1337" 通过浏览器连接,但我收到 "Conecting..." 消息,然后什么也没有发生。
知道我哪里搞砸了吗?
我也对服务器 IP 地址 (localhost:127.0.0.1) 或 (globalIPaddress) 感到困惑以放入 server.js 文件。
P.S: 请在下面找到 server.js 文件脚本。
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server ready');
尝试删除“127.0.0.1”或将其更改为 0.0.0.0
- 以监听所有接口。
有关详细信息,请参阅文档
https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback
使用当前设置,服务器仅接受来自本地主机的连接。
您还需要调整防火墙以打开远程服务器上的 1337 端口
你有两个问题:
1) “127,0,0,1”表示 "localhost" - 如果您希望远程客户端连接,则不合适。
2) 端口 1337 可能(或可能不)通过防火墙打开。听起来好像不是。
建议的更改:
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(80);
console.log('Server ready');
这是假设您的远程服务器没有其他已绑定到端口 80 的网络服务器。如果您修改后的程序因 "port in use" 错误而终止,请尝试端口 8080。或端口 8888。
只需输入要监听的端口号,而不是同时使用端口号和 ip-address
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(1337);
console.log('Server ready');
如果你想使用 ip 地址,那么服务器只能从本地使用 url 127.0.0.1:1337 访问,你将无法使用 localhost:1337
是的,我试过几次发送到服务器,但有时它不起作用 - 如果你使用:
"lsof -P -iTCP | grep LISTEN"
您可以在-bash中查看流程。
然后确定有多少端口在工作。您可以使用 :
终止进程
"kill -9 process_id".
"port in use" 表示端口正在被其他应用程序使用或程序在其上运行。
例如:
iTunes 有时不允许您在同一端口发送。
这样更好退出应用程序并稍后尝试发送。
我正在尝试在 Google 托管的特定 lamp 服务器上打开一个端口,并且我通过 ssh 连接到该服务器。
我已经按照 this link 配置了 nvm 和最新的 Node JS(v0.12.5)。安装后,我在 "server.js" 文件中使用了此演示代码并使用命令 "node server.js",看起来 Node JS 是 运行,在服务器上给出此消息 "Server ready"安慰。现在的问题是,当我使用 "netstat -n" 检查打开的端口时,我没有看到任何 1337 端口打开,这应该是。我也尝试使用 "serverIPaddress:1337" 通过浏览器连接,但我收到 "Conecting..." 消息,然后什么也没有发生。
知道我哪里搞砸了吗? 我也对服务器 IP 地址 (localhost:127.0.0.1) 或 (globalIPaddress) 感到困惑以放入 server.js 文件。
P.S: 请在下面找到 server.js 文件脚本。
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(1337, '127.0.0.1');
console.log('Server ready');
尝试删除“127.0.0.1”或将其更改为 0.0.0.0
- 以监听所有接口。
有关详细信息,请参阅文档
https://nodejs.org/api/http.html#http_server_listen_port_hostname_backlog_callback
使用当前设置,服务器仅接受来自本地主机的连接。 您还需要调整防火墙以打开远程服务器上的 1337 端口
你有两个问题:
1) “127,0,0,1”表示 "localhost" - 如果您希望远程客户端连接,则不合适。
2) 端口 1337 可能(或可能不)通过防火墙打开。听起来好像不是。
建议的更改:
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(80);
console.log('Server ready');
这是假设您的远程服务器没有其他已绑定到端口 80 的网络服务器。如果您修改后的程序因 "port in use" 错误而终止,请尝试端口 8080。或端口 8888。
只需输入要监听的端口号,而不是同时使用端口号和 ip-address
var http = require('http');
http.createServer(function(req, res) {
res.writeHead(200, {
'Content-Type': 'text/plain'
});
res.end('Hello World\n');
}).listen(1337);
console.log('Server ready');
如果你想使用 ip 地址,那么服务器只能从本地使用 url 127.0.0.1:1337 访问,你将无法使用 localhost:1337
是的,我试过几次发送到服务器,但有时它不起作用 - 如果你使用:
"lsof -P -iTCP | grep LISTEN"
您可以在-bash中查看流程。
然后确定有多少端口在工作。您可以使用 :
终止进程"kill -9 process_id".
"port in use" 表示端口正在被其他应用程序使用或程序在其上运行。
例如:
iTunes 有时不允许您在同一端口发送。
这样更好退出应用程序并稍后尝试发送。