2013-08-11 11 views
8

Ho il seguente codiceErrore: ascolta EACCES su OpenShift app

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); 

Ma quando l'applicazione si avvia automaticamente o io avviarlo manualmente con il nodo ricevo sempre l'errore: "mettere in guardia: errore generato: Errore: ascolta EACCES"

I contenuti di 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" 
    } 
} 

Cosa posso fare per risolvere il problema? L'esempio server.js di openshift non ha questo problema ma usa express 2.x.

risposta

21

Sembra che tu stia utilizzando le vecchie variabili di ambiente. Prova:

// Start the server. 
var port = process.env.OPENSHIFT_NODEJS_PORT || 8080 
, ip = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1"; 
Problemi correlati