Tag: amazon ec2

不能`吞噬安装`,导致`不能读取属性'应用'未定义`

我使用AWS的本指南将NVM和NPM安装到EC2实例。 然后,我安装了一大口,一口气 npm install –global gulp npm install –global gulp-cli 然后导航到我的项目并运行 吞下我 我得到这个错误 /home/ec2-user/.nvm/versions/node/v4.4.5/lib/node_modules/gulp/bin/gulp.js:129 gulpInst.start.apply(gulpInst,toRun); ^ TypeError:在nextTickCallbackWith0Args(node.js)处无法读取/home/ec2-user/.nvm/versions/node/v4.4.5/lib/node_modules/gulp/bin/gulp.js:129:19处未定义的属性'apply' :node.js:349:13)在node.js:968启动时(node.js:139:18)的Function.Module.runMain(module.js:443:11) :3 node -v返回v4.4.5 npm -v返回2.15.5 gulp -v返回 [13:22:47] CLI版本3.9.1 [13:22:47]本地版本4.0.0-alpha.2 我现在卡住,并不确定如何让gulp i运行

如何为托pipe在Amazon ECS上的服务器运行Node.js工作?

我们在Amazon ECS上有一个节点服务器,每秒钟可以达到100次左右。 由于JavaScript是单线程的,我们不想阻塞事件循环。 所以我们需要创build一个定期从数据库中提取数据并将数据加载到内存中的工作者。 这可能需要一段时间,所以我们要创build一个工作人员,所以有一个不同的事件循环。 我们怎样才能用ECS做到这一点? 我们可以只使用一个npm,或者我们必须做一些特别的事情,比如在亚马逊的控制台上设置额外的东西来build立一个单独的工作者?

在与现有NodeJS应用程序相同的AWS EC2实例上安装MongoDB?

我有点新来托pipe像MongoDB这样的数据库,并试图使用最具成本效益,但可靠的方法。 将MongoDB数据库安装在与Node应用程序相同的EC2实例上是否明智? 如果是的话,怎么样? 另外,有什么select?

通过UDP和Node.js通过WAN在两台计算机之间传递OSC消息

我试图写一些简约的客户端服务器代码来传递两台不同本地networking上的计算机之间的OSC消息。 具体而言,我的最终目标是使用MAX的UDPSend和UDPReceive函数在Ableton中发送和接收MAX补丁,这些函数只是在本地端口上侦听。 这里是服务器代码,我有Ableton的OSC发送MIDI模块发送给。 这可以正确接收来自第一台计算机的MAX补丁的输出,以及来自某个通道的一些MIDI数据。 var osc = require('osc-min'), dgram = require('dgram'); var remotes = []; var FileReader = require('fs'); // listen for OSC messages and print them to the console var udp = dgram.createSocket('udp4', function(msg, rinfo) { try { var oscmsg = osc.fromBuffer(msg); console.log(oscmsg); remotes.forEach(function(remote, index, array) { udp.send(msg, 0, oscmsg.length, 10000, remote); console.log('Sent OSC […]

为AWS部署格式化节点应用程序

我正在尝试在aws EC2 Beanstalk上部署node.js应用程序。 我的问题是,我不知道如何从我的本地主机testing环境移动到aws标准。 现在,我的应用程序使用以下代码在端口8081上工作。 var server = app.listen(8081, function () { var host = server.address().address var port = server.address().port }) 我将如何改变这个服务器variables在一个实际的域上工作?

AWS负载平衡器安全组

我正在尝试使用ELB部署一些nodejs站点,并且在ELB和EC2实例的安全组中遇到了一些问题。 我想要做的是允许ELB接受端口80的请求,并将这些请求转发到EC2实例的端口3000,我不希望EC2实例可以从互联网直接访问,只能访问(在端口3000)通过负载均衡器。 所以在我的公共子网中的VPC中,我有: 设置一个ELB,将80(HTTP)转发到3000(HTTP) 安全组从0.0.0.0/0接受端口80上的入站stream量 在端口3000上运行节点的EC2实例 安全组,接受来自 ELB实例的安全组的端口3000入站stream量 这不起作用。 如果在EC2实例上,我允许从0.0.0.0/0开始使用3000端口。 但是,我可以使用实例的公有IP去实例, 而不通过负载均衡器。 从我理解这应该是可能的,或者我错过了什么? 谢谢,乔

丢失Amazon Ec2服务器上的数据库连接

在过去的几个月中,我遇到了一个问题,我在亚马逊EC2服务器上部署了我的应用程序,但至less每天10到30次,我得到这些错误。 1) Error: connect ETIMEDOUT at errnoException (net.js:904:11) at Object.afterConnect [as oncomplete] (net.js:895:19) 2) Error: getaddrinfo ENOTFOUND at errnoException (dns.js:37:11) at Object.onanswer [as oncomplete] (dns.js:124:16) ——————– at Handshake.Sequence (/var/app/current/node_modules/mysql/lib/protocol/sequences/Sequence.js:15:20) at new Handshake (/var/app/current/node_modules/mysql/lib/protocol/sequences/Handshake.js:9:12) at Protocol.handshake (/var/app/current/node_modules/mysql/lib/protocol/Protocol.js:42:50) at Connection.connect (/var/app/current/node_modules/mysql/lib/Connection.js:72:18) at module.exports.connect (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:276:16) at Object.pool.Pooling.Pool.create (/var/app/current/node_modules/sequelize/lib/dialects/mysql/connector-manager.js:125:19) at createResource (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:258:13) at dispense (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:250:9) at Object.me.acquire (/var/app/current/node_modules/sequelize/node_modules/generic-pool/lib/generic-pool.js:316:5) at […]

将不同的域指向单个EC2实例上的不同Docker容器?

我在Docker容器中运行了一个简单的NodeJS站点,其端口映射到主机上的端口80。 我有一个域指向EC2实例的IP,并且一切都按预期工作。 如果我想在同一个实例上运行另一个单独的NodeJS站点和Docker容器,我怎样才能将特定的域名映射到特定的Docker容器? 例如,假设我的EC2实例的IP是22.33.44.55,我的域名是domain-a.com和domain-b.com。 我的dockerized NodeJS应用程序是siteA和siteB。 domain-a.comconfiguration为指向22.33.44.55。 siteA正在监听端口80的IP地址 – 这是我目前所拥有的。 domain-b.com被configuration为指向22.33.44.55。 我想把这个stream量映射到siteB Docker容器。

在节点JS中使用gm模块时,使用NodeJS产生ENOENT错误

我正在使用Linux操作系统在AWS EC2实例上使用gm节点模块。 我的目标是从S3 bucket中裁剪由url提供的图像。我正在对来自S3存储桶的图像url进行http请求以获取缓冲区并将缓冲区值传递给gm模块。 我的代码如下: gm(buffer).crop(width, height, x, y).toBuffer(imageExtension, function (err, buffer) { if (err) { //error Handling } else { //Some Logic } }); 当我将缓冲区传递给gm裁剪模块时,我得到了产卵ENOENT错误。 events.js:85 throw err; // Unhandled 'error' event ^ Error: spawn convert ENOENT at exports._errnoException (util.js:746:11) at Process.ChildProcess._handle.onexit (child_process.js:1053:32) at child_process.js:1144:20 at process._tickDomainCallback (node.js:381:11) 我参考了堆栈溢出的以下链接以供参考,但无法修复错误。 错误:在节点中使用GM时产生ENOENT Node.js:错误:使用GM模块时产生ENOENT 用NodeJS产生ENOENT错误 nodejs – […]

AWS,NodeJS – 将应用程序连接到另一个EC2实例上的Mongodb

我试图将运行在一个EC2实例上的应用程序连接到在另一个EC2实例上运行的MongoDB。 我很确定问题出在安全设置,但我不太清楚如何处理。 首先,我的应用程序的实例位于ELB后面的自动调整组中。 实例和ELB的入站安全设置允许从任何地方访问端口80,以及来自其自身安全组的所有stream量。 运行Mongo的EC2实例能够在该实例的安全组接受来自任何地方的所有入站通信的情况下进行连接。 我试过的任何其他configuration都会导致应用程序说它无法与远程地址build立连接。 我已经设置了规则来接受来自我拥有的所有安全组的入站stream量,但只有当我允许来自任何地方的所有stream量时,它似乎才起作用。 此外,我的数据库实例设置了一个弹性ip。 我应该在ELB背后有这个实例吗? 所以我的问题是这样的: 1)如何安全地连接到运行mongo的EC2实例? 2)在体系结构方面,以这种方式运行我的数据库是否有意义,还是应该在负载平衡器后面加上这一点? 这个问题比我想象的要多得多,所以任何帮助,将不胜感激。 注意 我还在bind_ip=0.0.0.0设置了bind_ip=0.0.0.0