2014-10-20 105 views
2

我已经完成了使节点js启动并运行的相同过程。但是,两个月后,采取完全相同的步骤,将无法实现。我需要在本地设置节点,我也使用mongodb。我已经下载了最新版本的节点js,mongodb和npm。无法使节点js在端口3000上工作

我用“node app.js”启动应用程序,光标移动到新行,它不会说它正在监听端口3000.这是我的问题。我在浏览器上检查localhost:3000,但它显示“此网页不可用”。

当我执行“netstat -a -b”时,它显示node.exe的本地地址为192.168.1.125:139。并在它下面说“无法获得所有权信息”。

我的配置文件是:

module.exports = { 
development : { 
    db: { 
     host : 'mongodb://localhost/ekopanelen' 
    }, 
    app: { 
     name: 'ekopanelen', 
     port: 3000 
    } 
} }; 

我为起始节点代码:

var express = require('express'), 
path = require('path'), 
mongoose = require("mongoose"), 
fs = require('fs'), 
passport = require("passport"), 
favicon = require('static-favicon'), 
logger = require('morgan'), 
cookieParser = require('cookie-parser'), 
exhbs = require('express3-handlebars'), 
session = require('express-session'), 
bodyParser = require('body-parser'); 
var multer = require('multer'); 
/* set environment to development by default. */ 
var env = process.env.NODE_ENV || 'development', 
config = require('./app/config')[env]; 

更多代码:

if (app.get('env') === 'development') { 
    app.use(function(err, req, res, next) { 
     res.status(err.status || 500); 
     res.render('error', { 
      message: err.message, 
      error: err 
     }); 
    }); } 
module.exports = app; 

启动应用程序:

#!/usr/bin/env node 
var debug = require('debug')('ekopanelen'), 
app = require('../../app'); 
var env = process.env.NODE_ENV || 'development', 
config = require('../config')[env]; 

app.set('port', config.app.port || 3000); 

/* 
* Start Server with port from node 
*/ 
var server = app.listen(app.get('port'), function() { 
debug('Express server listening on port ' + server.address().port); 
console.log('Express server listening on port ' + server.address().port); 
}); 
+1

任何人都不可能在没有显示服务器初始化代码并更详细地描述情况的情况下为您提供帮助。 – jfriend00 2014-10-20 15:39:57

+0

谢谢,我忘记了,我只是编辑了我的问题。 – arlindmusliu 2014-10-20 15:43:43

+0

这是你的mongodb服务器的问题吗?或你的nodejs服务器? – jfriend00 2014-10-20 15:49:12

回答

1

下面是我的开始node.js的服务器代码:

var express = require('express'); 
var app = express(); 
var server = app.listen(8081, function() { 
    console.log(new Date().toISOString() + ": server started on port 8081"); 
}); 

// change the port number to whatever port number you want to use 

你应该寻找的是一段代码。

+0

是的,就是这样。非常感谢您的帮助:D – arlindmusliu 2014-10-20 19:02:23

+0

这取决于哪些端口被某个进程占用。例如,如果使用端口8081,他不能实现你的代码段。 – miksiii 2015-01-18 17:26:56

+0

@miksiii - 端口号不是这个答案的要点 - 它是语句的顺序。显然,任何人都应该替换他们期望使用的端口号。这是工作的节点服务器的初始化序列。 – jfriend00 2015-01-18 17:30:26