Tag: openshift

在node.js openshift安装程序的index.html中附加静态文件

我想设置一个node.js后端来为我正在构build的应用程序提供服务。 我正在使用openshift,设置进行得很好,我有一个基本的index.html显示正常。 但是,当我试图添加我的CSS和JS文件,我不能。 <link rel="stylesheet" type="text/css" href="css/style.css"> 我发现这个页面,我遇到了同样的问题,没有解决scheme。 https://www.openshift.com/forums/openshift/problem-linking-css-and-js-in-my-nodejs-app

Facebook身份validation无法正常工作(部署在OpenShift上)

我构build了一个使用Facebook身份validation的应用程序,并在从本地主机运行时按预期工作。 但是,将应用程序部署到OpenShift并使用正确的域名进行testing后,服务器不会保存用户。 开发中的Facebook设置: 生产中的Facebook设置: OpenShift设置: rhc set-env FACEBOOK_ID=id -a <appname-id> rhc set-env FACEBOOK_SECRET=secret -a <appname-secret> 在文档上说,我需要添加这个,但它不起作用: 您还需要设置DOMAIN环境variables rhc config:set DOMAIN=<appname>.rhcloud.com 我重新启动服务器,但始终如一: rhc app-restart -a <appname> 我会很感激任何build议,甚至对我应该问什么问题有任何想法。 更新1 所以我检查日志和GET的唯一区别是: OpenShift GET /auth/facebook 302 3ms – 510b GET /<appname>.rhcloud.com/auth/facebook/callback?code=XXXXXX 200 5ms 本地主机 GET /auth/facebook 302 10ms – 444b GET /auth/facebook/callback?code=XXXXXXXX 302 1360ms – 58b 在OpenShift上它添加了域,有什么想法?

OpenShift从另一个设备访问MySQL

我在OpenShift有两个应用程序。 一个正在运行一个MySQL磁带的可销售的PHP设备。 另一个是node.js的齿轮。 我如何从node.js访问这个MySQL数据库

OpenShift HAProxy缩放不起作用

我一直在尝试使用ny NodeJS Express 4应用程序(本质上是一个REST API)来获得OpenShift的HAProxy扩展,但是我没有太多的运气。 我正在使用loader.io的压力testing工具,每分钟只有100个用户(从0开始),因为我确信至lessNodeJS / Express应该能够处理这个问题。 现在被允许,这在60秒内确实产生了大约10-20k个请求,但是仍然如此。 在请求开始冲击服务器之后会发生什么呢?我可以看到CPU上升,内存保持稳定,HAProxy的日志文件让我知道它将要扩展。 它从来没有。 HAProxy在可扩展之前崩溃,然后丢失与OpenShift主机的SSH连接。 不过一段时间后会回来。 有一次,我确实看到它已经达到默认的128个连接限制,然后试图启动另一个设备,但是由于请求不断出现,我猜测它无法处理? 起初我以为是因为使用了一个小的齿轮,因为我正在运行'顶部',看到CPU负载穿过屋顶,最终我断开了连接。 我删除了应用程序,并切换到small.highcpu齿轮(每小时花费钱)。 当它应该扩大时,仍然崩溃(less于100个并发用户)。 small.highcpu设备做了一些不同的事情,因为它重新启动后,它增加了一个新的齿轮,但它不缩小(即使所有的stream量已经停止),所以我不得不手动缩小 如果我离开第二个齿轮,并在1分钟内尝试再次用100个用户进行压力testing,HAProxy仍然下降(内存使用情况和CPU似乎没问题),之后不久我就失去了SSH连接。 而且,这一次它不是自动出现的。 我也在我的NodeJS应用程序中收到以下错误: { [Error: socket hang up] code: 'ECONNRESET' } { [Error: socket hang up] code: 'ECONNRESET', sslError: undefined } 如果我之后手动重启HAProxy(因为还没有popup来,我不得不这样做),我可以看到本地设备已经closures了,而第二个设备启动了,这意味着我的NodeJS应用程序在第一档崩溃,在二线上线。 这真的是有意的行为吗? 在处理NodeJS和HAProxy时,我应该做些什么吗? 如果我不能处理100个用户/分钟,我确实无法certificate为这样的服务付费,因为我确信我最终将远远超过100个用户。 更新 :这是一个loader.iographics/报表,HAProxy放弃时显示: http : //ldr.io/1tV2iwj 更新2 :我试着使用Blitz而不是loader.io,只是为了确定HAProxy何时发疯。 闪电战结束了12K点击,26K错误和4K超时。 此外,HAProxy下降,似乎永远不会回来。 这一次,我决定等待,几分钟后,本地DID又回来了。 但是,它没有提出任何额外的齿轮。 这也是HAProxy在Blitztesting发生的时候告诉我的(在它崩溃之前,我断开了连接): […]

在Openshift上定制node.js版本

我无法在open shift上运行node0.10盒式磁带上的自定义节点版本,您可以在这里find它。 我开始安装新的节点版本,但是开放式的转换继续使用旧的节点10.25 。 Deoploy日志: remote: Activating deployment remote: – Checking to see if Node.js version 0.10.33 is installed … remote: – Node.js version 0.10.33 is already installed remote: remote: – pre_start_nodejs: Adding Node.js version 0.10.33 binaries to path remote: -this is the path: /var/lib/openshift/54b6ea6e4382ece151000039/app-root/data/node-v0.10.33-linux-x64/bin:/var/lib/openshift/54b6ea6e4382ece151000039/app-root/runtime/repo/node_modules/.bin:/var/lib/openshift/54b6ea6e4382ece151000039//.node_modules/.bin:/opt/rh/nodejs010/root/usr/bin:/bin:/usr/bin:/usr/sbin remote: – PATH set to include custom node version (0.10.33) […]

如何在Openshift中使用简单的npm-install?

我试图在我的openshift帐户上使用可爱的文件 https://www.npmjs.com/package/cute-files 我知道node.js像我在localhost:3000那样工作,但不是专家, 我结束了http://cutefiles-powerupware.rhcloud.com/这不是我正在看。 它应该是可爱的文件应用程序作为开始。 我做了PuTTY访问terminal进行npm-install,但没有得到许可的运气。 问题是…我不明白openshift是如何工作的,我需要知道如何访问控制台来执行npm-install,然后执行“$ cute-files”,replace我使用Git来提交和推送,文件是更新…我没有结果…我已经花了6或7个小时,Openshift已经非常复杂我使用,任何人都可以解释如何安装和执行简单的node.js应用程序在openshift?

Socket.io不适用于我的节点/快速应用程序

我正在使用openshift与快递,无论什么configuration我改变socket.io它打破了我的申请。 我错过了什么? 我已经注释了使用socket.io的部分和应用程序运行正常。 当我取消注释socket.io时,一切都出错了。 我试图改变代码的位置来接受标准的io.listen(app),但它仍然打破。 我也尝试了很多来自互联网的例子。 这可能吗? //self.io.listen(self.app); 如果不是我应该在我的应用程序的上下文中听到socket.io? 我无法调用io.listen(服务器).. var express = require('express'); //etc // configuration mongoose.connect(configDB.url); // connect to our database require('./config/passport')(passport); var App = function(){ // Scope var self = this; // Setup self.dbServer = new mongodb.Server(process.env.OPENSHIFT_MONGODB_DB_HOST,parseInt(process.env.O PENSHIFT_MONGODB_DB_PORT)); self.db = new mongodb.Db(process.env.OPENSHIFT_APP_NAME, self.dbServer, {auto_reconnect: true}); self.dbUser = process.env.OPENSHIFT_MONGODB_DB_USERNAME; self.dbPass = process.env.OPENSHIFT_MONGODB_DB_PASSWORD; self.ipaddr […]

如何将静态公用文件夹添加到我的节点服务器?

我已经使用向导创build了一个新的OpenShift节点应用程序,并在应用程序的根目录下创build了一个索引文件。 我想将所有内容放在公用文件夹中,然后将此文件夹设置为静态。 我是非常新的节点,并找不到解决scheme,这不会打破我的OpenShift服务器,当我提交我的代码。 我认为这在节点中是非常简单的事情。 更新: 节点使用Express,所以我已经阅读,我可以使用此代码来设置一个静态文件夹: app.use(express.static(__dirname + '/public')); 但添加这个打破了我的服务器(又一次)。 在OpenShift上运行时,我得到了503。 这是我的server.js代码: #!/bin/env node // OpenShift sample Node application var fs = require('fs'); var express = require('express'); var path = require('path'); var favicon = require('serve-favicon'); var logger = require('morgan'); var cookieParser = require('cookie-parser'); var bodyParser = require('body-parser'); var routes = require('./routes/index'); var users = require('./routes/users'); […]

OpenShift + Diet.js

试图得到一个简单的运行在OpenShift(免费计划) Diet.js服务器,但服务器永远不会启动(本地运行良好)。 域本身( http://twilio-levelout.rhcloud.com/ )返回一个503,并且日志抛出: events.js:72 throw er; // Unhandled 'error' event ^ Error: listen EACCES 代码如下: var server = require('diet'), app = server(); var server_ip_address = process.env.OPENSHIFT_NODEJS_IP || '127.0.0.1'; var server_port = process.env.OPENSHIFT_NODEJS_PORT || 3000; app.get('/', function ($) { $.end('Hello World!'); }); app.listen("http://" + server_ip_address + ":" + server_port); 服务器运行的默认示例和一个简单的快速应用程序,但不是上述。 有任何想法吗?

“MongoError:没有这样的CMD:createIndexes”使用OpenShift

我正在创build一个使用agenda.js发送提醒的node.js应用程序。 当我在本地testing它时,它完美的工作,但是当我在OpenShift上testing它,我得到以下错误信息: MongoError: No such cmd: createIndexes 只有在使用了agenda.js的情况下,才会将新提醒的信息发送到服务器时才会出现此错误。 我查了一下createIndexes,看来它是在MongoDB 2.6版本中实现的,OpenShift目前只支持2.4版本。 我的问题是,有没有办法解决这个问题? 也许是手动升级到最新版本的MongoDB的方法,或者根本不使用盒式磁带(不知道实际上是什么)?