使用hapi在node.js应用程序上打开shift 503
Openshift 503 on node.js app with hapi
我有一个使用hapi的node.js应用程序,我正试图在OpenShift上托管它。我已经将应用程序上传到服务器,它显然读取了package.json文件并运行了app.js文件。
然而,当我访问该网站时,我收到了一个503错误。
Package.json文件:
{
"name": "app",
"version": "1.0.0",
"description": "",
"main": "server.js",
"dependencies": {
"after": "^0.8.1",
"bcryptjs": "2.3.0",
"bootstrap": "^3.3.6",
"forever": "^0.15.1",
"gulp": "^3.9.0",
"gulp-nodemon": "^2.0.4",
"handlebars": "4.0.5",
"hapi": "^8.8.1",
"hapi-auth-cookie": "^3.1.0",
"knex": "^0.9.0",
"mysql": "^2.9.0",
"nodemon": "^1.8.0",
"request": "^2.69.0",
"tree-model": "^1.0.4"
},
"devDependencies": {},
"scripts": {
"start": "node server.js"
}
"author": "",
"license": "ISC"
}
*注意:存储库信息已从package.json粘贴中删除。
app.js文件:
var Hapi = require('hapi');
var fs = require('fs');
fs.readFile('./bin/dbcfg.txt', 'utf8', function(err, data){
if (err){
console.log(err);
}
else{
data = JSON.parse(data);
process.env.client = data.client;
process.env.host = data.connection.host;
process.env.user = data.connection.user;
process.env.password = data.connection.password;
process.env.database = data.connection.database;
fs.readFile('./bin/strategycfg.txt', 'utf8', function(err, data){
if(err){
console.log(err);
}
else{
var strategyCFG = JSON.parse(data);
server = new Hapi.Server();
server.connection({ port : 3000, address: process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1' });
server.register(require('hapi-auth-cookie'), function(err){
if(err){
console.log(err);
}
server.auth.strategy('default', 'cookie',strategyCFG);
server.auth.default('default');
const defaultContext = {
title: 'App'
};
server.views({
engines: {
html: require('handlebars')
},
context: defaultContext,
path: ['public/html', 'private/html'],
layoutPath: 'public/templates',
layout: 'default'
//,
//helpersPath: 'views/helpers',
//partialsPath: 'views/partials'
});
});
server.route(require('./lib/Routes'));
server.start(function() {
console.log('Running on 3000');
});
}
});
}
});
我运行了rhc-tail-一个应用程序名称,收到了这个:
==> app-root/logs/haproxy.log <==
[WARNING] 090/180806 (276379) : config : log format ignored for proxy 'stats' since it has no log address.
[WARNING] 090/180806 (276379) : config : log format ignored for proxy 'express' since it has no log address.
[WARNING] 090/180806 (276379) : Server express/local-gear is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
[ALERT] 090/180806 (276379) : proxy 'express' has no server available!
[WARNING] 090/180919 (276379) : Server express/local-gear is DOWN for maintenance.
[WARNING] 090/180919 (279772) : config : log format ignored for proxy 'stats' since it has no log address.
[WARNING] 090/180919 (279772) : config : log format ignored for proxy 'express' since it has no log address.
[WARNING] 090/180919 (279772) : Server express/local-gear is DOWN, reason: Layer4 connection problem, info: "Connection refused", check duration: 0ms. 0 active and 0 backup servers left. 0 sessions active, 0 requeued, 0 remaining in queue.
[ALERT] 090/180919 (279772) : proxy 'express' has no server available!
[WARNING] 090/180923 (279772) : Server express/local-gear is DOWN for maintenance.
==> app-root/logs/haproxy_ctld.log <==
I, [2016-03-30T22:04:51.536078 #521102] INFO -- : Starting haproxy_ctld
I, [2016-03-30T22:11:34.136340 #49489] INFO -- : Starting haproxy_ctld
I, [2016-03-30T22:25:04.802167 #98826] INFO -- : Starting haproxy_ctld
I, [2016-03-30T22:29:56.842182 #117627] INFO -- : Starting haproxy_ctld
I, [2016-03-30T22:32:36.247075 #130978] INFO -- : Starting haproxy_ctld
I, [2016-03-30T22:39:12.046805 #156995] INFO -- : Starting haproxy_ctld
I, [2016-03-30T23:01:39.741187 #237078] INFO -- : Starting haproxy_ctld
I, [2016-03-30T23:07:00.948129 #255019] INFO -- : Starting haproxy_ctld
I, [2016-03-31T18:08:07.635718 #276393] INFO -- : Starting haproxy_ctld
I, [2016-03-31T18:09:20.552771 #279795] INFO -- : Starting haproxy_ctld
==> app-root/logs/npm-debug.log <==
5 error package.json npm can't find a package.json file in your current directory.
6 error System Linux 2.6.32-573.12.1.el6.x86_64
7 error command "node" "/opt/rh/nodejs010/root/usr/bin/npm" "install"
8 error cwd /var/lib/openshift/xxxxxxxx/app-root/logs
9 error node -v v0.10.35
10 error npm -v 1.4.28
11 error path /var/lib/openshift/xxxxxxxx/app-root/logs/package.json
12 error code ENOPACKAGEJSON
13 error errno 34
14 verbose exit [ 34, true ]
==> app-root/logs/nodejs.log <==
DEBUG: Sending SIGTERM to child...
DEBUG: Running node-supervisor with
DEBUG: program 'server.js'
DEBUG: --watch '/var/lib/openshift/xxxxxxx/app-root/data/.nodewatch'
DEBUG: --ignore 'undefined'
DEBUG: --extensions 'node|js|coffee'
DEBUG: --exec 'node'
DEBUG: Starting child process with 'node server.js'
DEBUG: Watching directory '/var/lib/openshift/xxxxxxx/app-root/data/.nodewatch' for changes.
Running on 3000
"Running on 3000"让我觉得这个应用程序正在运行,但OpenShift网站给了我503分。
如有任何帮助,我们将不胜感激。谢谢大家!
你能试着使用主机而不是像这样的地址吗:
server.connection({ host:'0.0.0.0', port: 3000});
此外,我认为open-shift还为端口暴露了一个环境变量。
相关文章:
- 使用javascript将视频从我的android应用程序上传到youtube
- 如何保护节点webkit应用程序上的字体
- 如何减少在移动网络应用程序上播放声音的延迟
- 如何在ExtJs4应用程序上为视图、存储和模型设置自定义文件夹名称
- Meteor应用程序上的警报/通知不会出现
- 如何获取模式引导程序上的值复选框
- 在Ionic应用程序上使用$.getScript加载谷歌地图Api
- 离子和角度:带标签的应用程序上的路线
- 无法在Chrome(打包)应用程序上检测到ESC按钮(全屏显示时)
- 一个Web应用程序上有两个Java脚本
- 从datetimepicker引导程序上点击的日期获取点击事件
- 角度UI路由器无法在chrome应用程序上运行
- 是否可以将 ASP.NET Web 应用程序上载到 VMware 上的虚拟 2008 服务器上
- 在单页应用程序上进行客户端路由的正确方法是什么
- 在 Birt 处理程序上使用 Javascript reportContext.setPersistentGlobalV
- 在移动应用程序上滚动iframe会在某个时刻跳到页面顶部
- window.open()在使用phone gap的iOS应用程序上不起作用
- Rails应用程序上的AJAX按钮
- 在流星应用程序上使用推特进行创作
- 使用hapi在node.js应用程序上打开shift 503