30

我刚刚在 Windows 上安装了 node.js。我有这个不运行的简单代码:

我得到:错误:听 EADDRINUSE

是否有一个配置文件告诉 node.js 监听特定端口?

问题是我已经让 Apache 监听端口 80。

编辑:

var http = require('http'); 
var url = require('url'); 

http.createServer(function (req, res) { 
 console.log("Request: " + req.method + " to " + req.url); 
 res.writeHead(200, "OK"); 
 res.write("<h1>Hello</h1>Node.js is working"); 
 res.end(); 
}).listen(5454); 
console.log("Ready on port 5454");
4

3 回答 3

31

除非您自己创建配置文件,否则没有配置文件。但是,端口是listen()函数的参数。例如,监听 8124 端口:

var http = require('http');
http.createServer(function (req, res) {
  res.writeHead(200, {'Content-Type': 'text/plain'});
  res.end('Hello World\n');
}).listen(8124, "127.0.0.1");
console.log('Server running at http://127.0.0.1:8124/');

如果您在查找打开的端口时遇到问题,可以转到命令行并键入:

netstat -ano

查看每个适配器正在使用的所有端口的列表。

于 2012-08-29T15:23:31.937 回答
9

我通常在文件中手动设置我正在监听的端口app.js(假设你正在使用express.js

var server = app.listen(8080, function() {
    console.log('Ready on port %d', server.address().port);
});

这将登录Ready on port 8080到您的控制台。

于 2014-10-14T13:25:41.583 回答
3

您可以从http://nodejs.org/
获取 nodejs 配置。 您需要记住的重要一点是它在文件 app.js 中的配置,其中包括端口号主机和其他设置,这些设置对我有用

后端设置 = {
“方案”:“https / http”,
"host":"您的网站网址",
"port":49165, //端口号
'sslKeyPath': '密钥路径',
'sslCertPath': 'SSL 证书路径',
'sslCAPath': '',
"资源":"/socket.io",
"baseAuthPath": '/nodejs/',
"publishUrl":"发布",
"服务密钥":"",
“后端”:{
“端口”:443,
"scheme": 'https / http', //无论你的网站方案是什么
"主机":"主机名",
"messagePath":"/nodejs/message/"},
“clientsCanWriteToChannels”:假,
“clientsCanWriteToClients”:假,
“扩展”:“”,
“调试”:假,
"addUserToChannelUrl": 'user/channel/add/:channel/:uid',
"publishMessageToContentChannelUrl": '内容/令牌/消息',
“运输”:[“网络套接字”,
“闪光灯插座”,
"html文件",
“xhr 轮询”,
“jsonp 轮询”],
“jsMinification”:真,
“jsEtag”:真,
“日志级别”:1};

在此,如果您收到“错误:侦听 EADDRINUSE”,请更改端口号,即这里我使用的是“49165”,因此您可以使用其他端口,例如 49170 或其他端口。为此,您可以参考以下文章
http://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-shared-hosting-accounts

于 2014-08-13T06:17:23.083 回答