2016-02-25 3 views
0

Вот мой код:Невозможно развернуть сервер Node.js на OpenShift

var express = require('express'); 
var net = require('net'); 
var app = express(); 
var sock; 


//first of all connect to a stable client 
console.log('waiting for connection\nfrom mobile server on port 5132'); 
var server = net.createServer(function(socket) { 
    sock = socket; 
}); 
server.listen(5132); 


//receive request from other clients 
app.get('/', function(req, res) { 
    // retriving mobileNumber and message 
    console.log('A new request\nreceived on 6544 '); 
    var mobileNumber = req.query.mobileNumber; 
    var message = req.query.message; 

    if (sock) { 
     sock.write(mobileNumber + "\n" + message + "\n"); 
     res.write(" Wah yyaar..."); 
    } 

    res.end('i am ended'); 
}); 

var server_port = process.env.OPENSHIFT_NODEJS_PORT || 8080 
var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' 

app.listen(server_port, server_ip_address); 

Здесь ошибка:

Git Post-Receive Result: failure 
Activation status: failure 
Activation failed for the following gears: 
56ce93357628e1c35b0000ff (Error activating gear: CLIENT_ERROR: 
Failed to execute: 'control start' for 
/var/lib/openshift/56ce93357628e1c35b0000ff/nodejs 
#<IO:0x00000001d7a388> 
#<IO:0x00000001d7a310> 
) 
Deployment completed with status: failure 

Я думаю, что проблема связана с портом 5132

Но Каково решение?

ответ

2

Вы пытаетесь связать порт 5132 со всеми адресами (0.0.0.0) или loopback (127.0.0.1), которые не разрешены. Вам необходимо использовать ip-адрес, который вы используете для привязки порта 8080, например:

server.listen(5132,process.env.OPENSHIFT_NODEJS_IP); 
Смежные вопросы