2017-01-26 180 views
0

我有一个server.js文件将用于启动节点服务器并执行一些任务。但是当我运行该文件时,服务器没有启动。即使我遇到了错误,它不会给我任何错误。任何帮助将appriciated!节点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

你是怎么试图运行它的? – GMaiolo

+0

@JaromandaX一点都没有。这就是问题所在。谢谢 –

回答

0

你需要调用server.listen(check_port);在你的代码的末尾,以尝试第一口

+0

感谢您的回答。正如你所建议的,我已经把server.listen(check_port)部分放在了server.once之外('listen'...并且它的工作! –

0

首先,你需要移动'https.listen('server.once('listening'...'之外的部分),但我认为在代码中还有其他问题。

我推荐从一个干净的例子开始https://nodejs.org/api/net.html(或表达)跑我t没有改变,看它是否有效,然后逐步添加你的改变。

+0

谢谢你的回答。我已经把server.listen(check_port)部分放在服务器之外.once('听'...并且它工作了! –