我刚刚在Windows上安装了node.js。我有一个无法运行的简单代码:
我得到:错误:听EADDRINUSE
是否有一个config文件告诉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");
除非您create one yourself,否则没有配置文件。但是,端口是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
要查看每个适配器正在使用的所有端口的列表。
我通常在app.js
文件中手动设置我正在监听的端口(假设您正在使用express.js
var server = app.listen(8080, function() {
console.log('Ready on port %d', server.address().port);
});
这会将Ready on port 8080
登录到您的控制台。
您可以从http://nodejs.org/获取nodejs配置您需要牢记的重要一点是文件app.js中的配置,其中包括端口号主机和其他设置,这些设置对我有用。
backendSettings = {“方案”:“ https / http”,“主机”:“您的网站网址”,“ port”:49165,//端口号'sslKeyPath':'密钥路径','sslCertPath':'SSL证书的路径','sslCAPath':'',“ resource”:“ / socket.io”,“ baseAuthPath”:'/ nodejs /',“ publishUrl”:“发布”,“ serviceKey”:“”,“后端”:{“端口”:443,“ scheme”:'https / http',//无论您的网站方案是什么“ host”:“主机名”,“ messagePath”:“ / nodejs / message /”},“ clientsCanWriteToChannels”:否,“ clientsCanWriteToClients”:否,“扩展名”:“”,“ debug”:false,“ addUserToChannelUrl”:'用户/频道/添加/:频道/:uid',“ publishMessageToContentChannelUrl”:'内容/令牌/消息',“ transports”:[“ websocket”,“ flashsocket”,“ htmlfile”,“ xhr-polling”,“ jsonp-polling”],“ jsMinification”:是的,“ jsEtag”:是的,“ logLevel”:1};在这种情况下,如果您收到“错误:监听EADDRINUSE”,请更改端口号,即我在这里使用的是“ 49165”,因此您可以使用其他端口,例如49170或其他端口。为此,您可以参考以下文章http://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-shared-hosting-accounts
我的npm服务器正在监听8081,我希望它监听8080。