2013-08-11 27 views
8

Tôi đã đoạn mã sauLỗi: nghe EACCES trên ứng dụng OpenShift

var express = require('express') 
    , app = express() 
    , server = require('http').createServer(app) 
    , io  = require('socket.io').listen(server) 
    , connect = require('connect') 
    , pg  = require('pg') 
    , Client = pg.Client; 

// Setup express middleware 
app.use(express.static('public')); 
app.use(connect.logger()); 

// Start the server 
var port = process.env.OPENSHIFT_INTERNAL_PORT || 8080 
    , ip = process.env.OPENSHIFT_INTERNAL_IP || "127.0.0.1"; 
server.listen(port, ip); 

Nhưng khi ứng dụng bắt đầu automaticaly hoặc tôi bắt đầu nó bằng tay với nút Tôi luôn luôn nhận được lỗi: "cảnh báo: Lỗi lớn lên: Lỗi: nghe EACCES"

Nội dung package.json:

{ 
    "name"  : "test-app", 
    "version"  : "0.0.1-1-alpha", 
    "description" : "test-app", 
    "dependencies": { 
     "express" : "3.1.x", 
     "connect" : "*", 
     "socket.io" : "0.9.x", 
     "i18next" : "1.6.x", 
     "bower"  : "1.1.1", 
     "pg"  : "*" 
    }, 
    "engines": { 
     "node" : ">=0.10", 
     "npm" : "1.3.x" 
    }, 
    "scripts": { 
     "start" : "node app" 
    } 
} 

tôi có thể làm gì để giải quyết vấn đề? Mẫu server.js từ openshift không có vấn đề này nhưng nó sử dụng Express 2.x.

Trả lời

21

Có vẻ như bạn đang sử dụng các biến môi trường cũ. Thử:

// Start the server. 
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080 
, ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"; 
Các vấn đề liên quan