我有一个server.js文件,用于启动节点服务器并执行一些任务。但是当我运行该文件时,服务器无法启动。即使我已经发现它没有给我任何错误的错误。任何帮助都会受到欢迎!
感谢。
下面是我的server.js文件代码块,
var express = require('express');
var app = express();
var request = require('request');
var fs = require('fs');
//--ssl files for the socket.io
var options = {
key: fs.readFileSync('pre3private.key'),
cert: fs.readFileSync('pre3cert.cert')
};
//--/ssl files for the socket.io
var https = require('https').Server(options, app);
var io = require('socket.io')(https);
var net = require('net');
var check_port = 8081;
var server = net.createServer();
server.once('error', function(err) {
console.log(err);
if (err.code === 'EADDRINUSE') {
// port is currently in use
check_port += 1;
if(check_port === 8050) { check_port = 8000; }
server.listen(check_port);
}
});
server.once('listening', function() {
// close the server if listening doesn't fail
server.close();
var port = process.env.PORT || check_port;
https.listen(port, function(){
debug('Server started! at port ' + port);
});
});
答案 0 :(得分:0)
您需要在代码末尾调用server.listen(check_port);
,尝试第一个端口
答案 1 :(得分:0)
首先,您需要移动'https.listen('部分在“server.once之外”('listen'...),但我认为该代码中还有其他问题。
我建议从https://nodejs.org/api/net.html开始一个干净的示例(或快速),不加更改地运行它,看它是否有效,然后逐步添加更改。