对于Node.js应用程序,Openshift总是给出503错误
Openshift always gives 503 error for Node.js app
我正在尝试使用Openshift的免费服务安装我的第一个Node.js+express web应用程序。
我在电脑上安装了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);
});
问题是,在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);
});
相关文章:
- Node.js v6.2.0类扩展不是函数错误
- Jquery菜单操作不稳定,定位不正确,存在一般错误
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 试图在引导模式内动态生成图表,得到offsetWidth错误
- 为什么会出现错误;未捕获的类型错误:undefined不是函数;
- 我如何修复包含在captcha的addthis中的错误
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- 节点是否需要模块传递带有方括号的arg?这是个错误吗
- Webpack/Rect:遵循egghead.io教程,但出现错误:您可能需要一个合适的加载程序来处理此文件类型
- CKFinder 3为所选文件返回错误的URL
- 对于Node.js应用程序,Openshift总是给出503错误
- OpenShift NodeJS 应用程序 503 错误(端口问题?
- Openshift上使用Angular和PHP的跨域脚本错误
- Openshift和外部mysql数据库与node-mysql(错误:连接ECONNREFUSED)
- 部署到Openshift后出现Websocket错误
- 在OpenShift齿轮上运行MongoDB脚本错误
- nodejs应用程序上的Openshift错误
- KeystoneJS错误无法在openshift上安装
- 与node.js服务器OpenShift建立连接时出现错误
- 运行OpenShift节点服务器:获取错误Application 'appname'启动失败(8080端