Tag: heroku

如何在Heroku上扩展节点应用程序?

在Heroku上扩展节点应用程序的最佳做法是什么? 工人什么时候增加工具? Heroku网站说 Crank your web dynos to increase HTTP performance. Crank your worker dynos to empty the queue faster. 我不太清楚这对我的节点应用程序意味着什么。

强制heroku使用特定版本的Node.js

我已经写了一个node.js应用程序,在本地运行良好,但是当我推送到heroku时,出现以下错误: 2012-04-11T00:42:55+00:00 app[web.1]: throw e; // process.nextTick error, or 'error' event on first tick 2012-04-11T00:42:55+00:00 app[web.1]: ^ 2012-04-11T00:42:55+00:00 app[web.1]: TypeError: Object #<Object> has no method 'isArray' 我发现heroku的Node是v0.4.7,但是我的本地版本是v0.6.3。 我指定在我的package.json文件中使用v0.6.3: "engine": { "node": "0.6.3" , "npm": "1.1.9" } 但是这显然没有做任何事情,即使我推了。 这一直困扰着我整天,我需要做的是弄清楚如何让util.isArray() 方法再次工作(希望)。 这是我得到的错误,这是因为它在节点的v0.4.7不支持。

为什么Heroku不接受我的Node.js版本?

用下面的package.json { "name": "…", "version": "0.1.1", "engines": { "node": "0.6.14", "npm": "1.1.4" }, "private": true, "scripts": { "start": "node app" }, "dependencies": { "connect-assets": "2.1.9", "ejs": "0.7.1", "everyauth": "0.2.32", "express": "2.5.9", "less-middleware": "0.1.4", "mocha": "1.0.1", "should": "0.6.1", "socket.io": "0.9.6", "underscore": "1.3.3" } } 我得到以下 WARNING: No version of Node.js specified in package.json, see: https://devcenter.heroku.com/articles/nodejs-versions

Heroku的应用程序不断崩溃根据日志…为什么?

只要我部署了应用程序,并推出了本教程中的代码: http : //blog.superpat.com/2011/06/14/node-js-chat-demo-on-heroku/ 我收到了这个来自heroku的错误:“应用程序发生错误,您的页面无法投放,请稍后重试。 如果您是应用程序所有者,请查看日志以获取详细信息。“ 这是我得到的日志错误: 2013-05-07T12:46:21.537628+00:00 app[web.1]: module.js:340 2013-05-07T12:46:21.537946+00:00 app[web.1]: throw err; 2013-05-07T12:46:21.538118+00:00 app[web.1]: ^ 2013-05-07T12:46:21.540143+00:00 app[web.1]: Error: Cannot find module 'pg' 2013-05-07T12:46:21.540143+00:00 app[web.1]: at Function.Module._resolveFilename (module.js:338:15) 2013-05-07T12:46:21.540143+00:00 app[web.1]: at Function.Module._load (module.js:280:25) 2013-05-07T12:46:21.540143+00:00 app[web.1]: at require (module.js:380:17) 2013-05-07T12:46:21.540143+00:00 app[web.1]: at Object.<anonymous> (/app/server.js:22:10) 2013-05-07T12:46:21.540143+00:00 app[web.1]: at Module._compile (module.js:456:26) 2013-05-07T12:46:21.540143+00:00 app[web.1]: at Object.Module._extensions..js (module.js:474:10) 2013-05-07T12:46:21.540143+00:00 […]

Heroku默认使用node.js应用程序

我有一个在线运行的Heroku示例应用程序的问题,它在本地完美工作,但在Heroku上它显示这个错误: TypeError: /app/views/index.ejs:7 5| <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=2.0, user-scalable=yes" /> 6| >> 7| <title><%= app.name %></title> 8| <link rel="stylesheet" href="stylesheets/screen.css" media="Screen" type="text/css" /> 9| <link rel="stylesheet" href="stylesheets/mobile.css" media="handheld, only screen and (max-width: 480px), only screen and (max-device-width: 480px)" type="text/css" /> 10| Cannot read property 'name' of undefined at Object.<anonymous> (eval at <anonymous> (/app/node_modules/ejs/lib/ejs.js:198:12)) at […]

当推送Node_modules直到Heroku的本地Node.js项目Git repo时,本地node_modules覆盖Heroku上的那些吗?

我想更好地理解我的本地机器上的Node项目的一部分node_modules与驻留在Heroku上的应用程序的一部分之间的关​​系。 当我在本地构build和testing项目时(在我的机器上,使用localhost ),我需要下载各种Node模块(例如, mongodb , mongoose , util , express等)。 当我在本地testing我的应用时,我想将其推送到服务器。 当我推动, node_modules文件夹也被推上去。 那么,如果我已经通过我的账户的/ app的仪表板,已经安装了MongoDB (通过Heroku的MongoLab附加组件)和Mongoose ,然后我推动我的项目,其中有一个node_modules文件夹(包含mongodb )? 我的本地mongodb node_module是否覆盖在Heroku上使用MongoLab shell创build的模块? 还是Heroku忽略我的推动并保留其版本? 那数据库呢? 据推测,数据库(本地和Heroku)是完全隔离的,所以不存在任何冲突的可能性。 所以我更感兴趣的是知道node_modules的内容会发生什么。 我知道你可以设置.gitgnore忽略各种东西(如node_modules文件夹),但是我失去了我的应用程序需要的其他模块,它不会运行。 而且我知道你可以有select地排除某些文件夹。 问题是我是否需要添加任何条目到我的.gitignore排除像MongoDB(和/或mongoose)的东西。 谢谢你的澄清。

在heroku上运行最新的不稳定nodejs(例如0.11.6)

我没有多less运气find答案: 在现有的应用程序上安装/运行heroku上最新的nodejs版本最简单的方法是什么? 有如下所述的package.json引擎的使用: https : //devcenter.heroku.com/articles/nodejs-support 但是这不包括最新的不稳定的0.11.x分支,这是我之后的分支。

Heroku的应用程序停止响应几个请求后

我有一个应用程序运行在一个单一的Dyno和自由层的PostgreSQL附加(到目前为止足够的开发目的)。 每当我将应用程序部署到Heroku上,或者模拟与工头一起运行时,所有的工作都非常出色 – 直到它没有。 所做的要求不是太复杂(基本的select和插入),并且在几毫秒之后肯定会作出回应。 我的testing脚本调用我定义的路线(按顺序),但有时只是在任意请求(工头和生产)上停止和超时。 该应用程序不会崩溃,仍在运行,但不再响应任何types的请求(cURL,浏览器,…) 这里是日志: 2013-12-06T11:47:59.115033+00:00 heroku[router]: at=error code=H12 desc="Request timeout" method=POST path=/users host=myapp.herokuapp.com fwd=IP dyno=web.1 connect=1ms service=30000ms status=503 bytes=0 当我重新启动应用程序,并再次触发所述请求,…它完美的作品。 那么,直到它不再(8-12请求testing)。 我还testing了每个路由调用的日志logging,发现超时请求甚至不会触发代码的第一行! 因此,我被引导认为,这个问题并不在于我的反应持续很长时间。 这可能是什么原因? 它是一些免费的限制? 我真的希望不会,因为那意味着我可以单击“撞击”服务器,打F5十几次。

从Heroku Rails应用程序运行节点

我有一个rails应用程序,允许用户使用sandcastle (一个节点库)编写代码(有点像那些自学编码的代码)。 我有一个节点脚本,它做我想要的,但我怎么能触发它从我的Rails应用程序在Heroku上运行?

HTTPS NodeJS和Heroku。 强制HTTPS?

我有一个在Heroku上运行的NodeJS HTTP(非S)服务器。 我configuration了SSL,并接受对HTTPS的请求。 我使用香草HTTP服务器的原因是因为以下原因 : SSL termination occurs at Heroku's load balancers; they send your app plain (non-SSL) traffic, so your app should create a non-HTTPS server." 不幸的是,我的应用程序仍然响应简单的HTTP请求。 我想强制redirect或从HTTP到HTTPS的东西。 我可以用一些中间件来做到这一点: /* At the top, with other redirect methods before other routes */ app.get('*',function(req,res,next){ if(req.headers['x-forwarded-proto']!='https') res.redirect('https://mypreferreddomain.com'+req.url) else next() /* Continue to other routes if we're not […]