2014-10-20 58 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