Подтвердить что ты не робот

Изменение порта прослушивания Node.js

Я только что установил node.js в Windows. У меня есть этот простой код, который не запускается:

Получаю: Ошибка: прослушать EADDRINUSE

Есть ли файл конфигурации, который сообщает node.js прослушивать определенный порт?

Проблема заключается в том, что я уже слушаю Apache на порту 80.

EDIT:

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

Ответ 1

Нет конфигурационного файла, если вы не создадите его самостоятельно. Однако порт является параметром функции 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

Чтобы просмотреть список всех портов, используемых для каждого адаптера.

Ответ 2

Я обычно вручную устанавливаю порт, который я слушаю в файле app.js (при условии, что вы используете express.js

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

Это приведет к регистрации Ready on port 8080 на консоли.

Ответ 3

вы можете получить конфигурацию nodejs из http://nodejs.org/
Важно, что вам нужно помнить о его конфигурации в файле app.js, который состоит из хоста номера порта и других параметров, это настройки, которые работают для меня.

backendSettings = {
"scheme":"https / http ",
"host":"Your website url",
"port":49165, //port number 
'sslKeyPath': 'Path for key',
'sslCertPath': 'path for SSL certificate',
'sslCAPath': '',
"resource":"/socket.io",
"baseAuthPath": '/nodejs/',
"publishUrl":"publish",
"serviceKey":"",
"backend":{
"port":443,
"scheme": 'https / http', //whatever is your website scheme
"host":"host name",
"messagePath":"/nodejs/message/"},
"clientsCanWriteToChannels":false,
"clientsCanWriteToClients":false,
"extensions":"",
"debug":false,
"addUserToChannelUrl": 'user/channel/add/:channel/:uid',
"publishMessageToContentChannelUrl": 'content/token/message',
"transports":["websocket",
"flashsocket",
"htmlfile",
"xhr-polling",
"jsonp-polling"],
"jsMinification":true,
"jsEtag":true,
"logLevel":1};

В этом случае, если вы получаете "Error: listen EADDRINUSE", пожалуйста, измените номер порта i.e, здесь я использую "49165", чтобы вы могли использовать другой порт, такой как 49170 или какой-либо другой порт. Для этого вы можете обратиться к следующей статье
http://www.a2hosting.com/kb/installable-applications/manual-installations/installing-node-js-on-shared-hosting-accounts