【问题标题】:Openshift always gives 503 error for Node.js appOpenshift 总是为 Node.js 应用程序提供 503 错误
【发布时间】:2015-02-24 18:50:53
【问题描述】:

我正在尝试使用 Openshift 的免费服务设置我的第一个 Node.js + express 网络应用程序。

我在我的计算机上安装了 node + npm 和 openshift 工具,并尝试运行我的应用程序。在我的本地机器上一切正常,但是在我将项目推送到 Openshift 站点后,它总是给出 '503 Service Unavailable' 错误。

我尝试rhc app restart -a firstapp,但没有解决问题。我还检查了package.json,它是正确的。

这是我的代码:

var express = require('express');
var app = express();
var fs      = require('fs');
var parser  = require('body-parser');

//Setup ip adress and port
var ipaddress ;

function initIPAdress() {
    var adr = process.env.OPENSHIFT_NODEJS_IP;
    if (typeof adr === "undefined") {
            //  Log errors on OpenShift but continue w/ 127.0.0.1 - this
            //  allows us to run/test the app locally.
            console.warn('No OPENSHIFT_NODEJS_IP var, using localhost');
            adr = 'localhost';
    }

    ipaddress = adr;
}

var port      = process.env.OPENSHIFT_NODEJS_PORT || 8080;


app.get('/', function (req, res) {
  res.send('Hello World!')
})

app.get('/admin', function (req, res) {
        res.setHeader('Content-Type', 'text/html'); 
        res.send( fs.readFileSync('./index_admin.html') );
})

app.listen(port, ipaddress, function() {
        initIPAdress();//Call setup ip adress
        console.log('%s: Node server started on %s:%d ...',
                        Date(Date.now() ), ipaddress, port);
});

【问题讨论】:

    标签: javascript node.js express openshift server


    【解决方案1】:

    问题是,在app.listen 方法之后,IP 地址设置不正确。所以,我不得不改变我的代码如下:

    var express = require('express');
    var app = express();
    var fs      = require('fs');
    var parser  = require('body-parser');
    
    //Setup ip adress and port
    var ipaddress ;
    
    function initIPAdress() {
        var adr = process.env.OPENSHIFT_NODEJS_IP;
        if (typeof adr === "undefined") {
                //  Log errors on OpenShift but continue w/ 127.0.0.1 - this
                //  allows us to run/test the app locally.
                console.warn('No OPENSHIFT_NODEJS_IP var, using localhost');
                adr = 'localhost';
        }
    
        ipaddress = adr;
    }
    
    var port      = process.env.OPENSHIFT_NODEJS_PORT || 8080;
    
    
    app.get('/', function (req, res) {
      res.send('Hello World!')
    })
    
    app.get('/admin', function (req, res) {
            res.setHeader('Content-Type', 'text/html'); 
            res.send( fs.readFileSync('./index_admin.html') );
    })
    
    initIPAdress(); //Setup IP adress before app.listen()
    
    app.listen(port, ipaddress, function() {
            console.log('%s: Node server started on %s:%d ...',
                            Date(Date.now() ), ipaddress, port);
    });
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2023-03-04
      • 1970-01-01
      • 1970-01-01
      • 2015-09-04
      • 2019-08-01
      • 2014-05-26
      • 1970-01-01
      相关资源
      最近更新 更多