更改Node.js侦听端口

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

我得到:错误:听EADDRINUSE

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

问题是我已经在端口80上的Apache监听。

编辑:

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"); 

没有configuration文件,除非你自己创build一个 。 但是,端口是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/'); 

如果您在查找端口时遇到问题,可以转到命令行并input:

 netstat -ano 

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

我通常手动设置我在app.js文件中侦听的端口(假设您使用的是express.js

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

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

你可以从http://nodejs.org/获得nodejsconfiguration
你需要记住的重要的事情是关于它在文件app.js中的configuration,它由端口号主机和其他设置组成,这些设置是为我工作的设置

 backendSettings = {
 “scheme”:“https / http”,
 “主机”:“您的网站的url”,
 “port”:49165,//端口号 
 'sslKeyPath':'钥匙的path',
 'sslCertPath':'SSL证书的path',
 'sslCAPath':'',
 “资源”: “/ socket.io”
 “baseAuthPath”:'/ nodejs /',
 “publishUrl”: “发布”,
 “的serviceKey”: “”,
 “后端”:{
 “端口”:443,
 “计划”:“https / http”,/ /无论你的网站计划
 “主机”:“主机名称”,
 “messagePath”: “/的NodeJS /消息/”},
 “clientsCanWriteToChannels”:假的,
 “clientsCanWriteToClients”:假的,
 “扩展”: “”,
 “debugging”:假的,
 “addUserToChannelUrl”:“user / channel / add /:channel /:uid”,
 “publishMessageToContentChannelUrl”:“content / token / message”,
 “运”:“的WebSocket”
 “flashsocket”
 “HTMLFILE”
 “XHR轮询”
 “JSONP轮询”],
 “jsMinification”:真实,
 “jsEtag”:真实,
 “LOGLEVEL”:1}; 

在这个如果你得到“错误:听EADDRINUSE”,那么请改变端口号,即在这里我使用“49165”,所以你可以使用其他端口,如49170或其他端口。 为此,你可以参考下面的文章
http://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-shared-hosting-accounts