Tag: amazon web services

如何保持AWS实例上持久的http-server打开

我使用node.js设置了运行http服务器的AWS Ubuntu实例 我想知道是否可以在持续保持http服务器的状态下从远程服务器注销。

在集群模式下在Elastic Beanstalk上运行pm2

我一直试图在AWS Elastic Beanstalk的节点Web服务环境中运行pm2,但运行得不好。 我启动快速API通过: ./node_modules/.bin/pm2 start server.js -i 0但服务器永远不会退出状态。 我可以在本地运行这个相同的命令就好了。 我已经ssh'd到aws实例,看着日志,但我没有看到任何错误。 如果我可以通过群集模式与eb上成功运行pm2的人聊天,那将是一个很大的帮助。 谢谢!

在AWS服务器上解决风险问题

当我正在运行sails lift项目时,它显示 – Aborted due to warnings. Running "sails-linker:devTpl" (sails-linker) task padding length 4 Warning: Unable to write "views/layout.ejs" file (Error code: EACCES). ———————————————————————— error: Looks like a Grunt error occurred– error: Please fix it, then **restart Sails** to continue running tasks (eg watching for changes in assets) error: Or if you're stuck, check out […]

处理信号在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 […]

无法使用电子邮件创buildGoogle now卡

我正在尝试使用node.js和AWS SES创buildgoogle now卡。 我的HTML是: <html> <body> <script type="application/ld+json"> { "@context": "http://schema.org", "@type": "EventReservation", "reservationNumber": data_bookingId, "reservationStatus": "http://schema.org/Confirmed", "underName": { "@type": "Person", "name": data_userFirstName }, "reservationFor": { "@type": "Event", "name": data_eventTitle, "startDate": data_startTime, "location": { "@type": "Place", "name": data_shortAddress, "address": { "@type": "PostalAddress", "streetAddress": data_address1, "addressLocality":data_address2, "addressRegion": data_city, "postalCode": data_pincode, "addressCountry": "IN" } } }, "numSeats":data_numberOfReserves, […]

需求在NodeJS应用程序中不被识别

我已经按照从这里http://expressjs.com/en/starter/installing.html的步骤来安装快速NodeJS应用程序。 安装后,我们移动到“myapp”目录,然后从https://github.com/aws/aws-iot-device-sdk-js安装“aws-iot-device-sdk”。 这里在node_modules目录中创build了aws-iot-device-sdk目录。 在公共目录中,我们已经通过创build“index.html”开始了一个例子。 在浏览器中启动NodeJS服务器后,我们尝试打开http:// localhost:3000 ,这里打开了index.html屏幕。 index.html – 我们需要“aws-iot-device-sdk”来运行AWS-IOT应用程序的脚本标记,但是在这里我们遇到以下错误。 未捕获的ReferenceError:require是未定义的 以下是index.html文件的代码 <!DOCTYPE html> <html> <script> function clicked(){ var awsIot = require('aws-iot-device-sdk'); } </script> <body> <input type="submit" onclick="clicked()" value="Click here to send email"> </body> </html> redirect到index.html,我们在app.js中使用了下面的代码 app.use(express.static('public')); 请帮我解决这个问题。 谢谢,Rakesh Kalwa。

当我试图在cloudsearch上传一个文档时,我无法处理这个错误

我正在尝试使用Aws lambda函数对cloudsearch进行上传testing。 该函数应该上传一个dynamodb表格作为JSON文件到cloudsearch当dynamodb更新被触发,但我得到一个错误,我想弄清楚是什么意思,如何摆脱。 目前,我正在configurationtesting事件 这里是lambda函数: var aws = require('aws-sdk'); exports.handler = function(event,context){ var cloudsearchdomain = new aws.CloudSearchDomain({endpoint: 'doc-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.cloudsearch.amazonaws.com'}); var documents = {id : event.Records[0].dynamodb.Keys.Id.N}; documents.type = "add"; documents.fields = { "message" : "Hello", "id" : "100", "name" : "name" } var params = {contentType: 'application/json', documents : JSON.stringify(documents) }; console.log('uploading documents to cloudsearch domain', params); […]

AWS Lambda网关API会提供错误消息

我为lambda函数创build了一个API端点,如下所示: https://XXXXXXXXX.execute-api.us-east-1.amazonaws.com/XXXX/XXXXXXXXXXXX/这是GET方法。 在从邮差中调用这个端点的时候,它正在给我 {“message”:“XXXXXXXXX3LPDGPBF33Q:XXXXXXXXXXBLh219REWwTsNMyyyfbucW8MuM7”授权标头中没有有效的键=值对(缺less等号):“AWS XXXXXXXXX3LPDGPBF33Q:XXXXXXXXXXBLh219REWwTsNMyyyfbucW8MuM7”。 } 这是Amazon Lambda上传网站的屏幕截图: http : //i.stack.imgur.com/mwJ3w.png 我有IAM用户的访问密钥ID和密钥访问密钥。 我用它,但没有运气。 任何人都可以build议调整这一点。

应该在Nodejs + Koa应用程序中使用AWS SQS消息轮询?

我创build了一个Nodejs + Koa应用程序,它包含我的Koa网站和一个接收来自Koa网站上运行的Angular.js请求的API。 我将使用AWS SQS服务从应用程序推送消息。 这些消息将由AWS Lambda函数处理。 当Lambda函数完成工作时,它会将消息推送到另一个SQS队列。 Nodejs应用程序将轮询SQS队列中的消息,当有消息时,它将向用户发送一个状态报告。 我有红色的SQS文件,它说,不build议在单个线程应用程序中使用长轮询,因为它会阻塞线程。 我想知道是否以5-10秒的时间间隔(可能更less)使用短轮询是一个好主意? 这是否有可能会显着降低网站的性能? 有没有最佳做法呢?

Twilio客户端错误:使用AWS Lambda / AWS API网关进行Twilio IP消息传递

我试图做一个简单的聊天应用程序基于Twilio的例子( https://github.com/TwilioDevEd/ipm-quickstart-node )。 我能够快速启动并运行。 我想修改一下 无论何时用户通过Web界面( http://localhost:3000 )发送消息,都会触发Twilio的webhook。 这个webhook PING一个映射到AWS Lambda函数的AWS API端点。 此AWS Lambda函数接收Channel Sid,进行身份validation,并简单回复“您说了什么? 我已经正确设置了AWS Lambda和AWS API网关。 以下是我的Lambda代码示例: 'use strict'; var TWILIO = require('twilio'); var AccessToken = require('twilio').AccessToken; var IpMessagingGrant = AccessToken.IpMessagingGrant; var http = require("http"); module.exports.handler = function(event, context, cb) { var accountSid = 'TWILIO-ACCOUNT-SID'; var authToken = 'TWILIO-AUTH-TOKEN'; var IpMessagingClient = TWILIO.IpMessagingClient; […]