比较不同的 PaaS 平台上的 Node.js 支持

  • 时间:
  • 浏览:0

对于我买车人的项目我没尝试过Heroku直到共要5个月前,每种因为 是可能我有另有一一兩个适度的标准来帮助我调整买车人的服务器,及每种因为 是可能我认为当当我门 歌词 事后避免node.js的,有过后可能你能克服当当我门 歌词 的匮乏关于WebSocket支持和有些错误标记和统计,这是另有一一兩个相当不错的经验.

当当我门 歌词 还得到了另有一一兩个非常优美和功能的控制面板,与有些方便的功能,使你太久再感到像其它地方指向S3-hosted文件中的404页面,有过能不能够将项目的所有权转让给不同的用户。

原文发布时间为:2013-07-09

http://openshift.com

第三当当我门 歌词 把ENV变量给消除了,每次我都的重新部署,我知道你有另有一一兩个最好的妙招能不能 避免.

dotClouds CLI使用Python编写的, 同去使用rsync在每次部署的过后最小化我想要上传的数据. 为了帛书,你都要配置supervisord.conf和dotcloud.yml文件。

这个 是通过git来部署的,不过package.json文件中的node版本号最多只支持0.8.11。

最后,我设置"engines": { "node": "v0.10.x" ...到 package.json文件中,就能不能 看多每个提供者何如响应。

Heroku的"toolbelt"CLI是用于管理您的帐户和应用,但部署是通过git,你只都要换成终端当当我门 歌词 就会为您提供远程在你的git配置中,可能当当我门 歌词 不完整性支持Node.js,我很惊喜地发现当当我门 歌词 可能支持v 0.10.6,我的第另有一一兩个部署似乎成功,有过后我收到追踪错误引导我发现第一次都要指定有哪几只资源,我想要致力于这个 程序:

有过后我仍然对监听另有一一兩个特定IP地址感到困惑,就如下面的:

我为哪哪几只家伙欢呼,并希望当当我门 歌词 能继续改善。有个内置MongoDB的选项会是不错的,我喜欢前期定价。

Azure dashboard

首先来看CloudFoundry另有一一兩个明确、友好入门过程然而,哪几只屏幕过后我得到了这个 消息

*当当我门 歌词 正趋于稳定另有一一兩个过渡时期*您正在阅读V2文档... Cloudfoundry.com20136将被升级V2

当当我门 歌词 能不能 通过npm模块ey_config来配置环境变量。Engine Yard还支持通过SSH来访我不知道的机器,那样当当我门 歌词 就能不能 直接创建config.json并倒进另有一一兩个正确的地方。

当我第一次部署失败,会弹出另有一一兩个能不能 输入手机号的窗口。

http://engineyard.com

至于写作,模块运行于0.8.15版本,并忽略你在 package.json 中指定的任何内容。

这里不带有有些“基础设施即服务(IaaS)”的选者,比如  AWS  和  Joyent,尽管哪哪几只选者之中的有些PaaS和IaaS之间的界限有有些点模糊。

http://modulus.io

希望微软在这里还能有更多的自定义的东西,可能当有些文件被换成进代码中(名为azure_error and iisnode.yml),CLI会自动通过npm安装同去也会通过git部署。

heroku ps:scale web=1

app.listen(app.get('port'), ipaddr, function(){...

有些有些,我会转回到当当我门 歌词 这个 系列下一期中

现在这样特定的顺序..

过后我对于获取示例应用有些哪哪几只的间题,有些有些我重新过后开始并让OpenShift用当当我门 歌词 的示例文件填充git仓库。这里小小的提示一下,包括deploy hook和有些配置文件后要 openshift目录下,README文件展示了型态并说明每个文件的意义。

OpenShift dashboard

然而,我被告知0.10.x后要 支持价值,这样通过对比到0.8.x时我能够够获得成功.

参数的设置通过CLI可能另有一一兩个dotcloud.yml文件设置.

我喜欢Nodejitsu。任何避免自定义配置后要通过标准的package.json文件。你甚至能不能 定义定制的predeploy和postdeploy hooks。我对它的印象是,它能非常灵活地部署和查看日志。

有过后在server.js文件的app.listen中换成 ipaddr, 就像过后:

https://www.heroku.com/

配置变量能不能 通过网页界面可能CLI。我试图在创建SECRET。在尝试并碰到错误后,我发现这样在变量中再次总出 空格!有些有些奇怪是SECRET模块这样运作。

早期的过后我感到非常的愤怒,当当我门 歌词 歌词 进行有些重大修改却几乎这样警告的过后。我猜这有些有些生活在另有一一兩个beta的世界,有过后我一直这样急着跑回来。

在这样对端口做任何修改的具体情况下,这个 应用跑得很好,有过后在日志中发现了另有一一兩个很奇怪的值: \\.\pipe\bea0dffc-de5b-47f4-8575-4d17c2175fd5

本文来自云栖社区媒体公司合作 伙伴“Linux中国”

我可能和OpenShift相关人员进行了沟通,当当我门 歌词 也将更新入门指南让这每种内容更加得通俗易懂。

package.json文件中的node版本号会被忽略,它会默认使用v0.6.20,不过让人通过额外的操作来改变它

Modulus dashboard

同样是使用CLI设置当当我门 歌词 的SECRET,用来覆盖默认值。

发布你的代码到Nodejitsu云是通过另有一一兩个自定义的命令行接口(CLI)应用程序,安装rpm,注册过后将自动转存到 github 指令版本库但整体安装过程是相当痛苦的,当提示选者另有一一兩个二级域名,过后要自动换成到package.json文件,在我跑了哪几只测试中,部署是非常快的. 在每个部署的package.json文件的版本属性是自动递增与的,这太久再麻烦我但可能会使另外有些人烦恼. 

OpenShift 另有一一兩个主要由Red Hat维护的开源项目, OpenShift.com是另有一一兩个托管式服务的平台(像WordPress.org 和 WordPress.com).

就像Heroku一样, Engine Yard 也是通过Ruby on Rails来托管的。 不过不一样的是, 当当我门 歌词 对于安装和环境配置拥有更多的选者。有服务器管理经验的人会确实Engine Yard更像直接操作某台服务器,不过这仍然是PaaS。

 ###NextPage###

文档要求监听process.env.VCAP_APP_PORT端口,但我尝试使用默认配置能够正常工作。日志显示它在监听57277端口。

变量可通过web控制台可能CLI(命令行工具)设置。设置私密变量毫无哪哪几只的间题。

Nodejitsu dashboard

我过后开开始另有一一兩个非常简单的 Express app,使用 nconf能不能 提供多种不同的最好的妙招,当当我门 歌词 歌词 可以给app指定端口,监听当当我门 歌词 的应用程序(必要时)以及另有一一兩个dummy变量,我称之为SECRET。它会先寻找节点命令传递的参数,环境变量,有过后从根目录的上一级到当当我门 歌词 制定的默认位置,尝试加载的config.json文件。当加载app时,当当我门 歌词 能知道变量从内部源加载否有正确。可能错误,加载app时将回滚到默认的SECRET。可能我想要访问app的启动日志,也就能不能 看多app监听在NODE_ENV上的哪个端口。

在这个 轮中,我主要考察另有一一兩个方面:部署和环境变量的配置。我还把有些有关起步,仪表板的截图和对其它的杂项操作的观察囊括了进来。在过后的文章中,当当我门 歌词 可能运行有些基础的性能测试,有过但是看看架构伸缩难易程度。 

Node.js相对有些的语言来说可能仍然是年轻的,有过后它的虚拟主机却有有些有些的选者。在这篇文章中,当当我门 歌词 就来看看哪几只“平台即服务(PaaS)”提供商。 

帐户创建过程是迄今为止最乏味的包括短信验证另有一一兩个Windows Live帐户和另有一一兩个单独用于部署的Git帐户但总体而言,Azure平台的巨大范围来看,仪表板是相当不错的当当我门 歌词 支持日志文件至于我想要告诉Heroku唯一这样做的供应商

支持多国语言.就像Nodejitsu一样, 当当我门 歌词 最近取消了当当我门 歌词 的免费服务,有些有些在过后开始使用过后都要绑定一张信用卡.

也是借助CLI工具。写这篇文章的过后,AppFog使用v0.8.14版本,有过后忽略package.json里的版本设置。

PaaS世界的庞然大物, 使用无所这样了的Ruby on Rails 构科学造出的极端流行的平台。

var ipaddr = process.env.OPENSHIFT_NODEJS_IP || "127.0.0.1";

AppFog dashboard

OpenShift.com 支持用SSH连接你的电脑,这因为 让人新建 config.json 并把它倒进共要的地方. 有过后, 这样特殊的命令来预先定义配置文件.

http://appfog.com

https://www.nodejitsu.com/

另有一一兩个最初的参与者仍然完整性地是Node.js的避免方案,当Joyent放弃当当我门 歌词 的no.de服务过后Joyent的Nodejitsu成为了官方媒体公司合作 伙伴(惭愧,那青春恋爱物语另有一一兩个不错的域名).Nodejitsu不再是另有一一兩个永久免费的上端层.有过后个别的方案都要3$每月和有另有一一兩个300天的免费试用期.

AppFog先前因PHP Fog而出名,现在已被CenturyLink收购。让人指定你想使用的云,如不同地区的AWS、HP以及Azure云。 

Engine Yard dashboard

根据文档你不都要设置监听端口,若果它是3000或大于1024.

设置当当我门 歌词 的SECRET来覆盖默认的是相当容易的.您能不能 使用CLI或web接口列表来设置变量,就像这个 名单上有些哪几只供应商。

它的免费计划看起来挺慷慨的。它提供多达8个实例,总共2GB RAM,并可随意分割使用。它后要 内置MongoDB的选项。

太久再,这个 世界正在迅速的变化着太久再把太久的关注倒进任何具体细节上,除非检查更新这个,在5天前我写好这篇文章,Modulus发送了一封邮件给我,有关升级版本的Node.js。

过后的文章中将继续监控和测试哪哪几只平台的性能有过后记录扩展当当我门 歌词 的快照在此期间,可能我错过了你最喜欢的Node.js PaaS请让我知道

变量能不能 通过网络接口可能CLI配置。在我第一次通过CLI配置SECRET的过后遇到了另有一一兩个比较诡异的小哪哪几只的间题,SECRET变成了secret。有些有些我不得太久再网络接口来更正它。

第二,我尝试在package.json改变属性名称有过后就告诉这样部署

部署能不能 通过CLI来做,但你也能不能 压缩整个项目并把它通过当当我门 歌词 很有趣的网络接口上传。我这样任何哪哪几只的间题,部署,但每每种把你整个项目(除了node_modules之外)都打包和上传,这会使它的避免过程比哪哪几只使用 git 的“diff”功能或 rsync 的工具慢得多。

Azure运行的是0.8.2这个 版本,不过这个 版本号能不能 在package.json文件中重新配置。

http://windowsazure.com

监听端口都要设置为30003000.

.io  后缀是另有一一兩个相对较新的服务。 关于Node.js, 当当我门 歌词 内嵌支持MongoDB 和本地文件存储。

端口是 process.env.OPENSHIFT_INTERNAL_PORT || 30003000.

当当我门 歌词 歌词 创建了另有一一兩个应用,当当我门 歌词 都要选者nginx(推荐)作为前端代理可能使用Node.js,后者支持WebSockets。

dotCloud dashboard

Heroku dashboard

我遇到了另有一一兩个小故障,第一是版本控制,在我部署时有信息输出,我展示下:

最后,都要创建另有一一兩个Procfile来说明web应用:node server.js。这有些有些支持多语言的PaaS的平台的小小的副作用。

所有应用在端口300000上运行,有些有些你都要监听这个 端口。

http://dotcloud.com

用git操作,可能你后要 基于网页的GUI的粉丝,尽管有 CLI 用来创建和管理项目. 你都要先将你的公共SSH key加到你的账户中,这是不包括在node.js快速进阶样例的一步。 

http://cloudfoundry.com

应用都要监听30003000端口, “但当当我门 歌词 推荐用端口环境变量 (process.env.PORT).”

在那过后,它是一帆风顺的.

目前, dotCloud的版本为 0.6.20. Ouch.

info: jitsu v0.12.10-2, node v0.10.4