Tag: 弹性beanstalk

用于Node.js和AWS EB的弹性负载平衡configuration

我试图将一个Node.js快速服务器部署到AWS EB,但有一些问题来configuration代理。 如果我在扩展文件夹下没有elasticloadbalancing.config文件,那么我可以通过HTTP和端口3000访问服务器。但是,如果我想添加一个configuration来启用HTTPS并将侦听器端口433代理到实例端口3000,那么该网站无法加载。 这是我的configuration文件, option_settings: aws:elb:listener:443: ListenerProtocol: HTTPS: SSLCertificationeId: arn**** InstancePort: 3000 InstanceProtocol: HTTP 任何人都可以给我任何build议? 我不确定EB是否正确configuration,因为一旦我部署了configuration文件,Web层configuration中负载平衡的所有端口都closures了。 EB会自动使用负载平衡吗? 这是networking层configuration, 这里是听众 谢谢。

ElasticBeanstalk nodejs.log找不到模块“hogan.js”

我有一个简单的node.js应用程序使用"hogan": "^1.0.2" (来自"dependencies"下的packages.json )。 它没有部署,并在日志中查看,我看到(多次): Error: Cannot find module 'hogan.js' at Function.Module._resolveFilename (module.js:325:15) at Function.Module._load (module.js:276:25) at Module.require (module.js:353:17) at require (internal/module.js:12:17) 我对EB上的node.js相当陌生,刚刚使用预先存在的Express应用程序跟随http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs_express.html 。 假设EB为我运行npm install (这是一个安全的假设?),这个问题可能是什么?

Elastic Beanstalk Node.Js需要PM2或Forever

在我的本地节点服务器上,任何未捕获的exception都会失败,必须手动重新启动。 所以本地运行使用永远或pm2。 但是我的开发服务器是带有Node.Js环境的AWS Elastic Beanstalk。虽然它logging了未捕获的exception并将其抛出,但它永远不会终止。即使它终止,它也会自动启动。 那么是否需要PM2或Forever来保持node.js在AWS Elastic Beanstalk环境中永远运行。

找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么?

我的Node.js Express应用程序在AWS Beanstalk中运行。 我为我的应用程序创build了三个Beanstalk环境,分别是: DEV(开发) UAT(用户验收testing) 产品(生产) 依赖于我的应用程序正在运行的环境我想连接到不同的数据库,并使用不同的级联样式表。 找出哪个AWS Beanstalk环境我的Node.js应用程序当前正在运行的最佳实践是什么? 我得到的印象我应该使用Beanstalk环境标签,但我一直无法弄清楚如何通过我的Node.js应用程序访问它们。

带有node.js的Elastic Beanstalk启动错误

试图在弹性beanstalk中运行node.js应用程序时出现错误。 我按照这里的指示快速的应用程序,但是当我检查node.js日志,我可以看到节点进程退出时有一个权限错误。 我不确定在这里做什么? > express-test@0.0.1-52 start /var/app/current > src/server.js sh: src/server.js: Permission denied npm ERR! express-test@0.0.1-52 start: `src/server.js` npm ERR! Exit status 126 npm ERR! npm ERR! Failed at the express-test@0.0.1-52 start script. npm ERR! This is most likely a problem with the express-test package, npm ERR! not with npm itself. npm ERR! Tell the […]

如何为AWS Elastic Beanstalk部署运行npm脚本?

我的package.json有: "scripts": { "start": "node_modules/.bin/coffee server.coffee", "test": "NODE_ENV=test node test/runner.js", "coverage": "NODE_ENV=test COVERAGE=1 node test/runner.js -R html-cov test/ > ./test/coverage.html", "testw": "fswatch -o test src | xargs -n1 -I{} sh -c 'coffeelint src server.coffee ; npm test'", "db:drop": "node scripts/drop-tables.js", "encryptConfig": "node_modules/.bin/coffee config/encrypt.coffee", "decryptConfig": "node_modules/.bin/coffee config/decrypt.coffee", "postinstall": "npm run decryptConfig" }, 当我部署到Elastic Beanstalk时,我想要运行postinstall ,但显然不这样做。 好的没问题。 […]

如何重置AWS Elastic Beanstalk上的凭证

在执行eb init之后,我意外地input了错误的aws-access-id和密钥,在完成教程时将Express Application部署到Elastic Beanstalk 现在我收到以下错误“错误:”my-misyped-key“在授权标题中不是有效的密钥=值对(缺less等号)…” 什么是最好的方式来重置我的凭据,以便我可以运行“eb init”

AWS Elastic Beanstalk:我是否必须使用完整的“/ node_modules”和“/ bower_components”来部署我的应用程序,并编译sass和其他依赖项?

我不明白AWS Elastic Beanstalk在Node.js应用程序中的工作方式。 Node.js开发的最佳实践是,不必将/node_modules或/bower_components或其他第三方包推送到版本控制系统(例如GitHub),而只需将package.json 。 所有这些/node_modules必须在.gitignore 。 然后任何人都可以执行npm install或bower install并安装所有依赖项。 sass也是一样 – 编译生产环境。 好的,但AWS Elastic Beanstalk呢? 我如何创build我的Node.js应用程序的源代码包? 我必须提交FULL /node_modules和/bower_components ,然后用它们做一个.zip包吗? 但是我的HEAD提交没有/node_modules ,因为/node_modules在.gitignore 。 所以在.zip bundle中不会有依赖: git archive –format=zip HEAD > app.zip 或者,在我将app.zip部署到AWS Elastic Beanstalk之后,是否可以select安装所有依赖项? 或者AWS Elastic Beanstalk在我上传了我的app.zip包之后立刻自行npm install在某个地方?

处理信号在Elastic Beanstalk上使用nodejs应用程序进行优雅退出?

我有这个在Elastic Beanstalk中运行的Nodejs应用程序。 我想在应用程序退出时进行一些清理(例如部署新版本,重新启动应用程序服务器)。 要做到这一点,我正在听一些事件和信号,但似乎没有一个被触发。 这是来自app.js的代码: process.on("SIGTERM", function() { console.log("SIGTERM, clean"); process.exit(0); }); process.on("exit", function(code) { console.log("Process exiting with code " + code); }); process.on("uncaughtException", function() { console.log("Unhandled exception occurred); process.exit(99); }); 当我通过pipe理控制台重新启动应用程序时,即使创build了一个新的节点进程并且旧的进程被终止,我也没有看到日志中的任何内容。 如果我手动杀死进程,我可以在输出中看到日志消息。 这是不是意味着Beanstalk触发的事件不发送kill信号? 如果是这样,怎么可能做一些优美的退出? 编辑 :这是更多调查的结果。 Beanstalk使用Upstart来pipe理应用程序。 在/ etc / init / nodejs中,有这一行: exec su -s /bin/sh -c 'PATH=$PATH:$NODE_HOME/bin $EB_NODE_COMMAND 2>&1' nodejs >> /var/log/nodejs/nodejs.log […]

Elastic Beanstalk CLI错误:此目录尚未使用EB CLI进行设置您必须首先运行“eb init”

我试图连接到我通过CLI在Web浏览器控制台中创build的弹性beanstalk应用程序,但是每次我尝试执行任何操作时,都说我没有使用EB CLI设置目录,我必须先运行“eb init”。 但是,我不想创build一个新的应用程序,我只是想通过terminal/ cmd访问旧的应用程序,所以我可以部署我的nodejs到它。 我如何通过CLI访问它,而不用'eb init'创build一个新的应用程序? 谢谢