更改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 8080
loggingReady 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