Articles of 弹性beanstalk

组合多个node.js Web应用程序

我试图找出完成这个最好的方法; 基本上我有大约6个网站我必须上网,但目前他们将有零stream量,以节省资金,他们需要部署在同一台服务器(理想情况下,我们将使用AWS的Elastic BeanStalk)。 有没有一种方法可以像平常一样编写每个Web应用程序(以便将来可以轻松地将它们转移到专用服务器上),但是有一个app.js入口点可以根据URL适当地加载节点应用程序? 显然这不是很理想,但我想到了一些方法来做到这一点,但我希望尽可能不要做傻事,以便稍后可以轻松地移动网站。

在Elastic Beanstalk上通过.ebextensions安装git

我收到了部署到Elastic Beanstalk的错误,因为实例上没有git。 我的package.json中的一个依赖依赖于一个git仓库,需要git clone 。 Git没有安装在实例上。 我尝试通过.ebextensions .conf文件进行安装,同时通过yum进行部署,但是当我将ssh移入实例时,它不在那里。 问题是:在该实例上调用npm install之前,在Elastic Beanstalk上运行的Linux实例上安装和运行git的正确方法是什么? 以下是显示错误的日志: [2015-04-18T09:00:02.815Z] ERROR [1777] : Command execution failed: Activity failed. (ElasticBeanstalk::ActivityFatalError) caused by: + /opt/elasticbeanstalk/containerfiles/ebnode.py –action npm-install npm WARN package.json amity-api-v2@2.0.0 No repository field. npm WARN package.json amity-api-v2@2.0.0 No README data npm WARN `git config –get remote.origin.url` returned wrong result (https://github.com/awslabs/dynamodb-document-js-sdk) undefined npm WARN […]

AWS EB Node.JSlogin到CloudWatch

是否有任何可能的解决scheme将在Elastic Beanstalk上运行的应用程序的Node.JS日志stream式传输到Amazon CloudWatch? 我没有看到cwl-webrequest-metrics.config文件,但是没有关于格式的信息,我无法格式化它以将Node.JS日志(仅)传送到CloudWatch。 那你提前发表你的意见!

Beanstalk:Node.js部署 – 由于权限被拒绝,node-gyp失败

Node.js应用程序(节点6,npm 5)到Beanstalk的部署失败: gyp ERR! 堆栈错误:EACCES:权限被拒绝,mkdir'/ tmp / deployment / application / node_modules / heapdump / build' 尽pipe错误不是包特定的,但任何node-gyp调用都会失败。 AWS控制台中的ERROR事件显示如下: [Instance:i-12345]命令在实例上失败。 返回代码:1输出:(截断)… / opt / elasticbeanstalk / containerfiles / ebnode.py“,第180行,在npm_install中引发subprocess.CalledProcessError:命令'['/ opt / elasticbeanstalk / node-install / v6.10.0-linux-x64 / bin / npm','–production','install']'返回非零退出状态1.钩子/opt/elasticbeanstalk/hooks/appdeploy/pre/50npm.sh失败。更详细的信息,请使用控制台或EB CLI检查/var/log/eb-activity.log。 而eb-activity.log包含前面提到的npm错误。 该应用程序是通过上传不包含node_modules的.zip文件手动部署的。 即它不是通过eb命令行工具部署的。

无法使用Git部署到AWS Elastic Beanstalk

我正在关注Elastic Beanstalk文档( http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html ),但是我无法部署node.js或PHP应用程序饭桶。 $ eb push Error: Failed to create the AWS Elastic Beanstalk application version Cannot run aws.push for local repository HEAD: 如果我尝试从git中推送,也会发生同样的情况 $ git aws.push Updating the AWS Elastic Beanstalk environment phpapp-env… Error: Failed to create the AWS Elastic Beanstalk application version 当您调用eb init时,AWS工具会设置一些git快捷方式。 正在失败的电话是… $.git/AWSDevTools/aws.elasticbeanstalk.createapplicationversion Error: Failed to create the AWS […]

密码保护AWS Node EB应用程序

我已经启动了一个Node Elastic Beanstalk应用程序(尽pipeELB)。 现在它只是服务器上的AWS示例节点应用程序。 由于这是一个开发服务器,所以在我将实际的代码推到服务器之前,我需要密码保护整个事情(这是用于客户端审查等)。 我有很多麻烦试图找出如何做到这一点。 看起来应用程序代码被放在/var/app/并且在/var/www/html/ (没有隐藏的文件)中没有任何东西,我通常会设置一个htaccess文件。 这是使用nginx代理,我从来没有使用过,我不确定如何提供文件。 locking这个服务器的最好方法是什么? 安全组? htaccess的? 别的东西?

存储在AWS EB环境variables中的JSON将不带引号地进行检索

我正在运行一个node.js EB容器,并试图将JSON存储在一个环境variables中。 JSON存储正确,但是通过process.env.MYVARIABLE检索时,将返回所有双引号删除。 例如MYVARIABLE看起来像这样: { "prop": "value" } 当我通过process.env.MYVARIABLE检索它的值是actualy { prop: value}这是无效的JSON。 我尝试用'\'(例如{\“prop \”:\“value \”}来避免引号,只是在string回到{\ \"prop\\":\ \"value\\" } 。 我也尝试用单引号把整个东西包装起来,例如'{ "prop": "value" }' ,但是它似乎也把它们去掉了。 任何人都知道如何将JSON存储在环境variables中? 编辑:一些更多的信息,当你设置一个环境variables时,会出现某些字符被双重转义。 例如,如果我用单引号包装对象。 当我使用sdk获取它的值变成: \'{ "prop": "value"}\' 另外,如果我把引号留下来,反斜杠会被转义,所以如果对象看起来像{"url": "http://…"}那么当我通过sdk查询的结果是{"url": "http:\\/\\/…"} 这不仅会损坏文本,还会重新排列JSON属性,所以属性的显示顺序与我设置的顺序不同。 UPDATE 所以我想说这似乎是AWS中的一个错误,因为它似乎正在损坏提交的值。 无论我使用node.js sdk还是Web控制台,都会发生这种情况。 作为一个解决方法,我已经采取在部署过程中用json对象上的单引号replace双引号,然后再在应用程序中。

AWS – 通过npm install来安装bower组件

我想使用git aws.push方法启动一个node.js服务器 http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.sdlc.html 类似于这个解决scheme,我试图运行'bower install',虽然我的解决scheme有点不同: https://developer.ibm.com/answers/questions/16594/how-to-install-packages-on-nodejs/ 我的实现: “scripts”:{“postinstall”:“bower install -F”}, 这工作正常本地-npm安装也运行凉亭安装没有问题。 当我部署到aws,npm运行良好 – 我知道我的服务器启动正常,因为我可以看到在日志中的消息,但是当我尝试启动客户端时没有任何凉亭组件。 我正在使用节点v0.10.26,我相信,我没有在我的本地机器上全局安装凉亭。 我已经试过这两个有和没有在我的package.json的依赖部分包括凉亭。 有任何想法吗? 并提前感谢。 的package.json { "name": "smf", "version": "0.1.0", "dependencies": { "aws-sdk": "~2.0.0-rc.14", "base64-js": "0.0.6", "bookshelf": "~0.6.10", "bower": "*", "change-case": "~2.1.1", "crypto-js": "~3.1.2-3", "geojson": "~0.1.5", "handlebars": "~2.0.0-alpha.2", "js-base64": "~2.1.5", "lodash": "~2.4.1", "mathjs": "~0.21.0", "minify": "~0.5.1", "moment": "~2.6.0", "newrelic": "~1.5.3", "node-cryptojs-aes": […]

部署hapi.js到AWS Beanstalk的“502 Bad Gateway”?

我用下面的代码构build了一个非常简单的hapi.js应用程序。 var Hapi = require('hapi'); var server = new Hapi.Server(3000); server.route({ method: 'GET', path: '/', handler: function (request, reply) { reply('Hello, world!'); } }); server.start(function () { console.log('Server running at:', server.info.uri); }); 但是,我不断收到“502坏门户”错误部署。 我正在使用标准的zip和上传方法进行部署。 zip文件包含一个带有上面代码的service.js文件和一个package.json文件,如下所示。 { "name": "hapi_aws_testing", "version": "0.0.0", "description": "", "main": "index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1" […]

我如何使用Elastic Beanstalk创build一个“tmp”目录?

我正在使用Node.js,并需要将文件保存到我的应用程序中的tmp目录。 问题是Elastic Beanstalk没有将应用程序目录设置为可被应用程序写入。 所以当我尝试创build临时目录时,我得到这个错误 fs.js:653 return binding.mkdir(pathModule._makeLong(path), ^ Error: EACCES, permission denied '/var/app/tmp/' at Object.fs.mkdirSync (fs.js:653:18) at Promise.<anonymous> (/var/app/current/routes/auth.js:116:18) at Promise.<anonymous> (/var/app/current/node_modules/mongoose/node_modules/mpromise/lib/promise.js:177:8) at Promise.emit (events.js:95:17) at Promise.emit (/var/app/current/node_modules/mongoose/node_modules/mpromise/lib/promise.js:84:38) at Promise.fulfill (/var/app/current/node_modules/mongoose/node_modules/mpromise/lib/promise.js:97:20) at /var/app/current/node_modules/mongoose/lib/query.js:1394:13 at model.Document.init (/var/app/current/node_modules/mongoose/lib/document.js:250:11) at completeOne (/var/app/current/node_modules/mongoose/lib/query.js:1392:10) at Object.cb (/var/app/current/node_modules/mongoose/lib/query.js:1151:11) 我已经尝试了几个东西,如.ebextensions / scripts / app-setup.sh中的app-setup.sh脚本,看起来像这样 #!/bin/bash # Check if this is the very […]