Tag: 部署

部署竞争条件导致CDNcaching旧的或损坏的文件

我们目前的部署过程如下所示: 使用grunt来创build生产资产。 在我们的CDN创builddate戳记和点文件(例如/scripts/20140324142354/app.min.js )。 旁注:我以前听说过这个叫“版本控制”的过程,但是我不确定这个过程是否合适。 提交到github构build。 在web服务器上运行git pull从github中获取新的代码。 这是一个node.js站点,我们forever -w使用forever -w来监视文件更改并相应地更新站点。 我们的应用程序中有一个path设置,通过/scripts/*/app.min.js提供最新版本的应用程序。 我们这样版本的原因是因为我们的CDN被设置为无限期地cachingJavaScript文件,这有意创buildcaching未命中,以便在CDN(也在用户的浏览器中)更新代码。 这在大多数情况下工作正常。 但是,如果其中一台服务器在检查新代码时有点滞后, 有时客户端在部署正在进行的同时点击该页面,并尝试从CDN检索新的JavaScript代码。 CDN试图检索它,但点击一个未完成检查新代码的服务器,并caching一个旧的或部分下载的文件,导致各种问题。 这个问题由于我们的CDN有很多边缘位置而加剧了,所以我们的办公室并不总是能立即看到问题。 一些边缘位置可能已经拉下了旧的/坏的代码,而其他的可能已经拉下了新的/好的代码。 有没有更好的方法来做这些部署,以避免这个问题?

在Digital Ocean上部署新的node.js keystoneJS应用程序

我接近部署我的第一个节点应用程序(KeystoneJS)+ mongoDb,我正在考虑使用数字海洋。 这将是我已经部署和第一次使用数字海洋的第一个节点应用程序。 我试图find来自部署基于keystone的应用程序的其他人的教程或指南,但未能发现一个。 我将不胜感激,有人可以分享他们用来部署节点app + keystone + mongo的步骤。 谢谢。

简单的NodeJS部署到Heroku

我试图部署一个痛苦简单的NodeJS应用程序到Heroku。 var http = require('http'); var server = http.createServer(function(req, res) { res.writeHead(200); res.end('Hello World'); }).listen(3000); 我已经在本地进行了testing,并运行以下命令。 heroku login heroku create marktyers git push heroku master heroku ps:scale web=1 该应用程序似乎部署,但是当我查看的URL我得到一个应用程序错误。 https://marktyers.herokuapp.com 这里是英雄日志。 节点server.js heroku[router]: at=error code=H20 desc="App boot timeout" method=GET path="/" host=marktyers.heroku app.com request_id=d2ccf200-f034-4b62-951a-0a1d3055bf35 fwd="90.244.82.220" dyno= connect= service= status=503 bytes= heroku[web.1]: Error R10 (Boot timeout) -> […]

如何在Heroku上使用Strongloop部署Node.js应用程序?

有实际经验的人可以解释这些层如何相互作用,以及如何设置工作设置(开发生产)实际上应该设置? 我知道有一些buildpack可以在Heroku上安装Strongloop。 而部署实际的应用程序是用git push完成的。 您可以解决的一些具体问题 我怎么能(或多或less)在本地和在Heroku有相同的环境。 设置Strongloop节点后,服务器环境是否保持原状? 还是每次部署更新时都会重新创build? (如果是的话,怎么样?) slnode如何适合图片 我可以从开发机器连接到Heroku托pipe的数据库吗? 我希望这个问题的答案可以作为一个像我这样的人,正在努力去理解所有的东西在一起。

在生产机器上部署和运行节点服务器的最佳方法?

我正在使用Webrtc,nodejs,Expressjs作为创buildaudio,video和聊天应用程序的框架。 我已经使用了Forever,以便脚本可以持续运行。 正如我的应用程序处理audio,video和聊天。 用户存在扮演着重要的angular色。 我们需要始终启动和运行系统,避免系统崩溃并重新启动。 如果发生这种情况,我们将放弃有关在线用户的所有信息。 需要build议什么是避免这种情况的最佳方法。 此外,在将新function移至生产服务器的同时,应该考虑哪些步骤,以便应用程序不会停止,从此我们不会丢失用户信息。 如果服务器出现故障或者我们不得不把它closures的话。 有什么不同的技术可以使用,以便我们不会丢失系统中在线用户的状态信息,并将其恢复(如有必要)。

在CloudControl中部署基于grunt的应用程序

我正在尝试将一个基于grunt的应用程序部署到CC。 我想部署使用grunt build任务生成的应用程序的dist版本。 现在,我所做的就是将我的grunt devDependencies移动到dependencies并使用NPM postinstall挂钩来运行grunt构build任务。 这种方式一旦更新NPM依赖性CC运行的任务。 但是,这个方法有两个问题: 1) compass不工作 2)把所有的咕噜声依赖关系转移到dependencies感觉不对。 第一个问题,我认为我可以使用另一个SCSS grunt模块来修复它。 还有其他的方法吗? 最好我不想将我的dist版本保存在版本库中。

如何为Node.js WebSocket服务器configurationAWS Elastic Beanstalk?

我正在写一个纯粹的Node.js WebSocket服务器: AWS Elastic Beanstalk 适用于PostgreSQL的AWS关系数据库服务(RDS) 适用于Apple推送通知服务(APN)的AWS简易通知服务(SNS) Node.js ws模块 Node.js pg模块 我也希望它是安全的,例如: WSS(基于SSL / TLS的WebSockets) DoS攻击预防 我已经将“代理服务器”更改为“无”,但我应该更改哪些其他configuration?

Openshift节点应用程序无法启动

我没有在Openshift上启动我的基于节点的应用程序。 应用程序在本地启动,但是节点的自动部署(在推送到远程主服务器repo)时遇到了日志的循环问题; DEBUG: Running node-supervisor with DEBUG: program './app/server.js' DEBUG: –watch '/var/lib/openshift/53dab282e0b8cdd367000131/app-root/data/.nodewatch' DEBUG: –ignore 'undefined' DEBUG: –extensions 'node|js|coffee' DEBUG: –exec 'node' DEBUG: Starting child process with 'node ./app/server.js' DEBUG: Watching directory '/var/lib/openshift/53dab282e0b8cdd367000131/app-root/data/.nodewatch' for changes. module.js:340 throw err; ^ Error: Cannot find module 'underscore.string' at Function.Module._resolveFilename (module.js:338:15) at Function.Module._load (module.js:280:25) at Module.require (module.js:364:17) at require (module.js:380:17) […]

如何在使用Kudu将node.js应用程序部署到Azure时debuggingdeploy.sh?

我正尝试使用Kudu将一个node.js应用程序(只是一个简单的幽灵博客)部署到Azure网站。 我在我的部署脚本( deploy.sh ,从.deployment正确引用)中有以下几行: eval $NPM_CMD install grunt-cli exitWithMessageOnError "Problem Installing Grunt" ./node_modules/.bin/grunt –no-color init exitWithMessageOnError "Problem With Grunt" 部署失败时,我将查看Azurepipe理门户并查看失败的日志。 当npm install grunt-cli运行的时候,我得到了预期的输出结果 – 也就是说它应该被全局安装的一个警告,以及一个指示它已经正确安装的子包的列表。 然后,直接之后我得到: An error has occurred during web site deployment. Problem With Grunt Kudu部署转储中可用的部署的log.xml中的序列(没有更多信息)。 我应该如何解决这个问题? 有没有其他地方可以查找输出和错误? 我可以更改我的脚本输出更多的错误信息? 我要去哪里? 有没有使用Kudu远程控制台工具testing我的部署脚本的方法?

部署Flexible VM Node.js挂在更新服务上

当使用“gcloud app deploy”(这是一个node.js灵活的应用程序引擎应用程序)部署我们的应用程序时,我们遇到以下命令(在它推到图像之后) 正在更新服务[默认] …- 它卡在那里,我们不知道为什么。 它最初并没有这样做,现在需要5分钟来部署任何应用程序。 无论如何加快这一点? 谢谢