Articles of 云

节点networking应用程序自动部署到云计算机

我是CI / CD的全新产品,需要一些关于如何将小型Web应用程序部署到云计算机的指导。 我的Web应用程序是使用Webpack 2构build的。生成的文件通过Node Web服务器提供,并需要两个附加的Node Web服务器才能工作(后端API)。 所有三个Node web服务器都在同一个git仓库中,并且被相同的package.json文件覆盖。 每次我提交代码,都会触发Travis构build和testing代码。 当我的提交通过特拉维斯,我决定部署该应用程序时,我通过以下步骤 SSH到我的远程机器 停止我在屏幕上运行的所有三个NodeJS Web服务器 git pull最近的变化 npm install来安装应用程序 npm run build生成运行生成命令生成的文件服务 再次在屏幕上启动所有三个节点服务器 我想自动化这个过程,以便每个通过的提交被部署。 或者甚至更好,这样我就可以select在通过某个UI传递Travis之后部署哪个构build。 我知道从厨师到Docker有很多工具可以做到这一点。 我正在寻找一个相当简单的解决scheme,我愿意学习新事物。 我的云提供商目前是Linode,但我更喜欢云提供商无关紧要的解决scheme。 我真的试图find这样一个好的存在的问题,但是我很惊讶,我找不到一个。

Bot在本地工作,但对Bot服务没有反应

我有一个机器人通过VSTS持续集成。 僵尸程序正在运行一个应用程序服务计划(我最近才发现消费计划机器人作为function运行)。我在消费云中有一个工作的机器人,但它限制了我的扩展能力。 对于这个机器人,我做了一个干净的部署提示机器人 – 但试图在云中运行产生了一个对话框错误。 所以我评论了Prompt代码,并把它变成了一个echo机器人。 本地运行良好,但服务没有响应。 尝试login到Kudu控制台并运行手动npm安装,但没有帮助。 尝试手动运行僵尸程序导致错误的请求错误。 节点版本6.11.2。 文件树包括初始部署时由Bot Service提供的所有文件,包括iisnode和web.config。 这是我的app.js和package.json。 有没有其他人遇到问题与本地有效的僵尸没有响应云部署? 任何技巧,我还没有尝试过? 更新:通过Azure日志stream发现此错误,但不知道如何解决它。 错误:请求到“ https://state.botframework.com/v3/botstate/webchat/conversations/(snip) ”失败:[500] Request._callback发生内部服务器错误 var dotenv = require('dotenv'); dotenv.load(); var restify = require('restify'); var builder = require('botbuilder'); // Setup Restify Server var server = restify.createServer(); server.listen(process.env.port || process.env.PORT || 3978, function () { console.log('%s listening to %s', server.name, server.url); […]

谷歌云健康检查失败

我已经尝试了一切,我可以find谷歌,但仍然无法使其工作。 我configuration了端口8080的健康状况检查,我已经创build了nodejs服务器来服务200 OK并立即closures连接(不保持活动状态)。 手动testing到实例的IP地址似乎工作。 我使用ngrep来检查端口8080上的传入连接,我也从节点打印到控制台,什么都看不到,没有stream量到端口8080.另外在防火墙上,我有一个规则,以允许端口8080 0.0.0.0/0我试过端口80在开始和切换到端口8080只是为了试图使其工作。 我发现“谷歌地址pipe理器”服务失败,并启动它,也试图重新启动实例。 我也尝试使用以下命令向本地路由添加130.211.0.0/32:sudo / sbin / ip route添加到本地130.211.0.0/32 dev eth0 proto 66我尝试了networking负载平衡计算器和http负载平衡计算器,结果相同。 你能帮我么? 我一直在尝试过去72小时,不能使它工作。 以下是运行状况检查定义的复制粘贴:default-health-check由…使用 lb-please-work-backend-servicepath / 港口 8080间隔 5秒超时25秒不健​​康阈值连续20次失败健康阈值 连续1次成功 **更新:我现在从头开始创build一个新的服务器,nodejs在端口80上侦听并返回200 OK。 我也创build了一个新的LB和健康检查,一切仍然没有

在Cloudant DB上使用NodeJS更新和删除文档

我能够使用HTTP / REST API成功查询(select)并将数据插入到Cloudant数据库中。 但我无法弄清楚 – 如何删除和修改文件。 对于删除:我尝试了以下代码在nodejspath中:'/ quick_loan_nosql_db_1?951b05d1b6aa100f4b94e5185674ef40 / _rev = 1-88963c755157188​​091f0d30115de18ce'REST API请求的一部分与方法:删除。 但是当我执行它删除整个数据库,而不是指定的ID。 更新 :有人可以提供一个示例,我尝试了PUT,但作为响应,我得到了冲突数据错误。 任何input将不胜感激。

如何直接从网页浏览器安全地执行对云端的授权

我打算build立一个办公室扩展应用程序(或多或less是一个HTML5应用程序)。 应用程序最有价值的部分是应用程序提供的内容,因此内容信息必须安全地保存在数据库中。 任何试图访问内容的人都必须通过显示用户名和密码来certificate自己的身份。 我有一个名为“_users”的Cloudant数据库,它存储所有的用户login信息,如用户名和密码,另一个名为“_contents”的Cloudant数据库,它存储所有的内容信息。 当用户试图用他们的网页浏览器访问“_content”数据库时,应用程序会要求用户login。 成功地将此用户的凭证与“_users”数据库中的数据匹配后,此用户便可访问“_content”数据库。 理想的情况是,login和授权过程可以只使用Web浏览器和Cloudant数据库来完成。 我不想有任何“中间人”(例如运行nodejs的Web服务器)。 我怎样才能做到这一点。 好的,这是我无法解决的一些问题。 当用户尝试build立与Cloudant数据库的连接时,必须提供一个API密钥。 好吧,我可以生成一个允许读取“_users”数据库的API密钥,并将此API密钥提供给用户。用户可以使用此密钥连接到“_users”,但这是否意味着使用此API密钥,任何用户可以读取“_users”数据库中的所有数据? 这将是一场灾难。 如果上述问题可以解决,如何进行授权? 我应该为每个用户不断生成API并在以后删除它们吗? 我应该在什么时候执行删除操作?

GCE Http负载平衡器没有达到实例 – 不健康

我按照这里的说明来设置负载平衡器: https://cloud.google.com/nodejs/getting-started/run-on-compute-engine#multiple_instances 我的实例工作正常,他们可以通过inst.ance.ip.addr:8080访问,并发送一个200根 负载平衡器显示: 错误:服务器错误 服务器遇到临时错误,无法完成您的请求。 请在30秒后重试。 此外健康检查总是返回不健康: $ gcloud compute backend-services get-health api-service 说明: 后端: https : //www.googleapis.com/compute/v1/projects/#####/zones/us-central1-f/instanceGroups/api-server status:healthStatus: – healthState:UNHEALTHY实例: https:/ /www.googleapis.com/compute/v1/projects/#####/zones/us-central1-f/instances/api-server-jg2e port:8080 – healthState:UNHEALTHY实例: https://www.googleapis .com / compute / v1 / projects / ##### / zones / us-central1 -f / instances / api-server-taxd port:8080 kind:compute#backendServiceGroupHealth 我重复了20次安装过程,从创build模板到防火墙规则。 这样做完全没有错误。 我在Google云端控制台的用户界面中进行了validation。 我要疯了。

nodejs sessionStore与cloudant app.use不一致的执行

我正在为nodeJS构build一个cloudant sessionStore,并被app.use语句发生了什么。 下面的两个app.use语句只是在一个被调用的会话中封装了一个函数,但是这会导致非常不同的行为。 例1: app.use('/login*', session( { store: sessionStore, secret: sessionSecret, resave: false, saveUninitialized: true, cookie: {secure: true, maxAge:24*60*60*1000}, genid: function (req) {return uuid.v4()} })); 在第一个例子中,sessionStore例程被调用,它创build和存储一个新的会话ID 例2: app.use('/login*', function () {session( { store: sessionStore, secret: sessionSecret, resave: false, saveUninitialized: true, cookie: {secure: true, maxAge:24*60*60*1000}, genid: function (req) {return uuid.v4()} })}); 在示例2中,将会话语句包装在一个函数def中只会调用sessionStore.on('disconnect'),然后调用sessionStore.on('connect')。 我想我错过了一些非常明显的东西,但是很难过。 两个问题: 为什么当放置在一个匿名函数内时session()的执行是不同的? 这是正常的,应该设置我的sessionStore.on('连接')来处理这种情况?

cloudinary多个.jpg上传NODE.JS

有任何一个人试图上传50 +图像cloundinary? 我一直在尝试,但问题是,承诺没有得到解决(即使使用.reflect(),并不能上传所有的图像。根据上传的速度,它将失败30%〜70%。 有什么办法可以完全使它asynchronous,并确保所有图像上传正确? 我使用的模块只有蓝鸟和cloudinary模块从他们的文档。 Promisebd = require('bluebird'); function uploadimg(img, i, itemId) { var pubID = 'a2z/toys/' + itemId + '/' + i; // return new cloudImg.v2.uploader.upload(img, { return cloudinary.v2.uploader.upload(img, { // works public_id: pubID, quality: 90 // use_filename: true, } , function(err, res){ if(err) { console.log(err); } console.log(res); }); } promiseArr.push(uploadimg(fullimg, i, d[0].details.detailsProductId)); // […]

加快我的云查询

我想知道是否有人可以在我的云查询下面提供一些build议。 现在花费20秒以上的时间来处理50,000文件的数据库 – 我怀疑我的速度可能会比这更快。 查询的目的是查找所有具有“searchCode”属性的文档,并将其与特定值加上特定ID的进一步列表相匹配。 searchCode和_id都被索引 – 为什么我的查询需要这么长时间/我能做些什么来加快速度? mydb.find({selector: {"$or":[{"searchCode": searchCode},{"_id":{"$in":idList}}]}}, function (err, result) { if(!err){ fulfill(result.docs); } else{ console.error(err); } }); 谢谢,詹姆斯

WebSocket在本地,AWS上工作,而不在AliBaba云上工作

我们有一个非常直的WebSocket node.js实现工作正常 我们的本地机器。 AWS云 但没有工作 阿里云 所有的http / https请求正在打,但websocket请求不是。 试图find这个RCA: Google Chromium浏览器特定的支持问题 问题与谷歌App Engine 一些删除的stackoverflow线程 所有的端口在我们的情况下是开放的 , 我们也没有使用Socket.io 代码对我们来说不是问题 不知道阿里巴巴是否阻止8000 / tcp端口 我们也不确定为什么它不适用于Websockets 已经使用节点服务器应用程序启用CORS 如果阿里云支持WebSockets,也不是很确定。 有什么更好的build议吗?