Tag: amazon ec2

AWS Elastic Beanstalk – 在环境之间切换环境variables

我正在使用Elastic Beanstalk的aws:elasticbeanstalk:application:environment命名空间来使用env varsconfiguration我的环境。 如何为不同的环境设置不同的值,例如开发与生产。 发展: option_settings: aws:elasticbeanstalk:application:environment: REDIS_HOST: localhost 生产: option_settings: aws:elasticbeanstalk:application:environment: REDIS_HOST: prod.redis.server.com

节点AWS-lib:CreateTags操作“对Web服务无效”

我正在使用Node的aws-lib模块。 我知道这是一个相当薄的节点API包装,例如运行调用(“CreateTags”)将包装在API中logging的CreateTags调用。 我正在调用其他API函数,例如,RunInstance和DescribeInstances正常工作。 但是CreateTags导致问题: ec2.call("CreateTags", { 'ResourceId.1':notmyrealresourceid, 'Tag.1.Key':'Name' 'Tag.1.Value':'Somemachine' }, function(err, result){ if ( err) { console.log('Failure tagging image'); console.log(err) } }) 在err中回应以下内容: The action CreateTags is not valid for this web service. API绝对提到了CreateTags的存在。 我怎样才能使它工作? 我错过了什么? 谢谢!

节点AWS-lib:对AWS-lib的重复调用导致签名不良

我正在重复运行相同的EC2 API调用,因为我正在等待一个实例启动。 var check_started = function() { console.log('Calling'); ec2.call("DescribeInstanceStatus", {InstanceId:['pretend_instance_id']}, function(err, status_result){ if (err) { console.log('error') console.log(err) console.log(status_result) } else { console.log('success') } }); } var instance_started_checker = setInterval( check_started, 5 * 1000) 第一次调用总是成功 ,但随后的调用失败: The request signature we calculated does not match the signature you provided. Check your AWS Secret Access Key and signing […]

如何在端口80上运行“Deployd”,而不是在Web服务器上运行端口5000。

我运行一个网站与“deployd”,我有问题,改变我的应用程序在端口5000上运行到80端口。我想要做的是不是有“mydomain.com:5000”,我只是想有“mydomain。 COM” 谢谢。

部署在aws上使用mongo db的节点js应用程序

我对亚马逊的web服务和弹性beanstalk很陌生。 虽然很多人说使用简​​单明了,但我认为这是一个非常主观的陈述。 对于像云计算虚拟主机和虚拟私人服务器这样的新人来说,我相信学习曲线和那些不得不“学习”的人是没有多大区别的。 我正在开发一个使用expressjs作为核心框架和MongoDB作为数据库的nodejs网站。 我的雇主希望我们使用AWS。 现在就是问题出现的地方。 我已经能够build立一个弹性beanstalk的环境,甚至上传应用程序和环境开始,但没有任何工作。 我所遇到的第一个问题是,尽pipe我成功地build立了环境,但我几乎不知道所有的configuration是什么意思,而且我的脑袋正在旋转。 AWS官方文档在这方面帮助不大。 其次,我不知道如何使它与MongoDB一起工作,在仪表板上,我看到的唯一select是Amazon RDS,对于像我这样的新手来说,我search的任何解释都是相当复杂的。 有没有人有链接到某处我可以得到一个简单的解释,或者可以简单地解释一下如何做到这一点? PS:我创build的AWS环境是运行Node.js的64位Amazon Linux 2014.03 v1.0.6 编辑:我得到错误502坏网关。 该应用程序运行在面向前端的nginx代理之后。

在Amazon EC2上运行简单的HTTPS节点JS服务器

我正在尝试在Amazon EC2上创build一个简单的https服务器来testing第三方API。 以下是我遵循的步骤: 创build了Amazon EC2实例,并打开了HTTP和HTTPS端口: 使用创build简单的SSL凭据 openssl genrsa 2048> privatekey.pem openssl req -new -key privatekey.pem -out csr.pem openssl x509 -req -days 365 -in csr.pem -signkey privatekey.pem -out server.crt 创build了一个简单的节点js服务器 var https = require('https'); var fs = require('fs'); var options = { key: fs.readFileSync('./privatekey.pem'), cert: fs.readFileSync('./server.crt') }; https.createServer(options, function (req, res) { res.writeHead(200); res.end("hello world\n"); }).listen(8080); […]

跨多个Amazon EC2实例水平缩放socket.io

使用运行我的节点应用程序的2个Amazon EC2服务器正确安装并正常工作。 目前坐在应用程序负载平衡器后面。 我使用这样的代码发送套接字消息 const ioredis = require('socket.io-redis'); io = require('socket.io')(server); io.adapter(ioredis({ host: 'localhost', port: 6379 })); io.to('roomName').emit('message', data); 但是,使用socket.io发送消息时,消息仅从始发节点服务器广播。 服务器1发出一个socket.io消息 – >连接到服务器1的任何人都会听到该消息,但是连接到服务器2的任何人都不会。 服务器2发出一个socket.io消息 – >连接到服务器2的任何人都会听到该消息,但连接到服务器1的任何人都不会。 我需要帮助的是如何从服务器1发出socket.io消息,并将其中继到所有其他服务器,也可能通过在单独的服务器上使用单个redis实例? 要么 将另一台服务器作为服务器1和服务器2发送和接收套接字消息的套接字发射器。 不太确定哪个选项是最好的和正确的方式去,任何帮助将不胜感激。

启动脚本中的Elastic Beanstalk失败

我正在尝试将一个Node.js应用程序部署到弹性beanstalk。 问题是,每次启动脚本都会失败。 我将ec2configuration为使用启动脚本npm start ,它执行node app.js (在package.json中定义)。 但是,这个启动脚本在ec2中失败。 我得到logging的错误, npm ERR! Exit status 1 npm ERR! npm ERR! Failed at the myProject start script 'node app.js'. npm ERR! Make sure you have the latest version of node.js and npm installed. npm ERR! If you do, this is most likely a problem with the Portfolio package, […]

在EC2上使用node.js供电的服务器时,如何减lessTCP连接时间?

在分析我的应用程序时,我注意到,在Firebug Net面板中,“连接”时间(即等待TCP连接的时间)始终在70-100毫秒左右。 见下图: 当然在事物的macros伟计划中,100ms不长,但是我看到其他服务以0ms连接时间响应。 所以如果其他服务器可以的话,我应该也可以。 任何想法,我甚至可能会解决这个问题呢?

在负载平衡的Amazon EC2上节点socket.io

我有一个标准的LAMP EC2实例设置在Amazon的AWS上运行。 在安装Node.js,socket.io和Express以满足实时更新的需求的同时,我正处于应用程序负载平衡的阶段。 这一切都工作,但我的套接字不是。 这是我的设置看起来如何: — EC2 >> Node.js + socket.io / Client >> ELB — \ — EC2 >> Node.js + socket.io [RDS MySQL – EC2 instances communicate to this] 正如你所看到的,每个实例都有一个Node和socket.io的安装。 然而,偶尔Chromedebugging将会返回原因{"code":1,"message":"Session ID unknown"}的套接字请求,我猜这是因为它正在与其他实例进行通信。 另外,假设我在页面A上,并且套接字需要发送到页面B–由于负载均衡器,这两个页面可能在不同的实例上(它们都将同时打开)。 据我所知,使用“粘滞会话”这样的东西在这种情况下是行不通的,因为这两个页面将被限制在它们各自的实例中。 我怎样才能解决这个问题? 我需要一个专门用于Node的专用实例吗? 这似乎有点矫枉过正…