Articles of 虚拟机

Google Compute Engine Bookshelf教程:npm ERR! networking读取ECONNRESET

我目前正在通过GCE Bookshelf教程,这是最让我头疼的: https : //cloud.google.com/nodejs/tutorials/bookshelf-on-compute-engine 我被困在这一步: To see the application running, go to http://[YOUR_INSTANCE_IP]:8080, where [YOUR_INSTANCE_IP] is the external IP address of your instance. 当我尝试通过端口8080在我的外部IP上查看我的应用程序时,没有任何反应。 我可以确认防火墙规则正确地应用于显示正确networking标记的虚拟机实例。 我浏览了系列日志,发现启动脚本有些问题,因为实例无法克隆git仓库。 所以我改变了 git clone https://source.developers.google.com/p/$PROJECTID /opt/app 至 git clone https://source.developers.google.com/p/d3-barchart/r/repo /opt/app (其余的startup-script.sh这里:) #! /bin/bash # Copyright 2017, Google, Inc. # Licensed under the Apache License, Version 2.0 (the "License"); […]

在沙箱中的服务器上运行不受信任的JavaScript代码

我似乎无法弄清楚如何设置节点沙箱,它可以安全地运行不受信任的代码,并允许用户通过api调用 (sys进出) 与程序进行交互 。 我试图在浏览器中设置一个控制台,让用户从服务器上运行自己的代码。 有没有支持这个节点的软件包,还是我需要编写自己的节点虚拟机? 谢谢。 编辑:我希望用户能够写入readline()并让程序在断点处等待传入的数据。同样, console.log()的输出应该redirect到inputAPI调用的响应。

在单个Azure VM上运行两个Nodejs服务器

我有一个虚拟机在80端口上运行一个节点js服务器。 它的运行相当好。 现在我在端口3000的VM上本地运行另一个nodejs服务器,它在虚拟机上本地运行以及80端口。 所以, 本地主机:80 localhost:3000 像魅力一样工作。 问题是,现场的URL如http://zubair.cloudapp.net只运行80端口,我应该如何运行3000端口服务器使用此url? 我想到这样的事情:http: //zubair.cloudapp.net : 3000但它没有工作。 注意:我也添加了3000端口在图片中没有显示,但仍然没有工作。 任何帮助,将不胜感激。 谢谢

最轻的Node.js Linux发行版

什么是Node.js的超轻型Linux发行版 没有GUI,只是bash。 计划运行Azure Extra Small VM实例。 共享CPU核心,768MB内存。

Node.js教程触发所有App引擎VM实例

我遵循这里概述的教程: https : //cloud.google.com/nodejs/getting-started/hello-world 与app.js : 'use strict'; var express = require('express'); var app = express(); // [START hello_world] // Say hello! app.get('/', function(req, res) { res.status(200).send('Hello, world!'); }); // [END hello_world] if (module === require.main) { // [START server] // Start the server var server = app.listen(process.env.PORT || 8080, function () { var host […]

使用VM模块运行Node.js脚本:“ReferenceError:require不是函数”

我正在编写我自己的自定义node.js服务器。 它现在处理静态页面,AJAX GET,POST和OPTIONS请求(后者用于CORS),但是我知道我select用于运行服务器端GET和POST脚本的方法并不是最优的 – 官方node.js文档指出,启动大量的子Node.js过程是一个坏主意,因为这是一个资源饥饿的方法。 它工作,但我知道,可能有更好的方法来达到相同的结果。 所以,我下了VM模块。 我首先想到的是,这将解决使用subprocess混淆机器的问题,并使我的服务器更具可扩展性。 有一个小问题。 我的服务器端脚本,用于目录列表和将结果发送回浏览器等任务,从几个require语句开始加载所需的模块。 最后编写代码来读取脚本文件,并将其传递给vm.Script(),我现在遇到一个错误: “ReferenceError:要求不是一个函数” 我从那里得知,其原因是VM为脚本启动了一个纯粹的V8执行环境,而不是一个独立的node.js执行环境。 为了使我的想法有效,我需要VM为我提供一个单独的,沙箱化的node.js执行环境。 我如何做到这一点? 我的初步研究告诉我,我需要为虚拟机执行环境提供自己独立的node.js全局副本,以便按照预期的方式执行function。 我的理解是否正确? 如果是这样,我需要采取哪些步骤来执行此任务?

使用Node SDK从图像创buildazure色虚拟机

我正尝试使用azure sdk( azure-sdk-for-node )创build一个基于我已经保存的映像的虚拟机。 我也已经创build了这个服务。 这是我得到的: // Create a virtual machine in the cloud service. computeManagementClient.virtualMachines.createDeployment('prerender-pro', { name: "prerender-pro", deploymentSlot: "Production", label: "for heavy duty caching", roles: [{ roleName: "prerender-pro", roleType: "PersistentVMRole", label: "for heavy duty caching", oSVirtualHardDisk: { sourceImageName: "prerender-os-2014-07-16", mediaLink: "https://XXXXXXX.blob.core.windows.net/vhds/prerender-os-2014-07-16.vhd" }, dataVirtualHardDisks: [], configurationSets: [{ configurationSetType: "LinuxProvisioningConfiguration", adminUserName: "Blah", adminPassword: "Blahblah2014!", computerName: […]

如果BrowserSync通过访客虚拟机执行,可以重新加载主机浏览器吗?

我有一个Ubuntu 14.04主机和通过虚拟盒Vagrant Ubuntu 14.04服务器虚拟机。 我想在VM上保留像NPM这样的开发工具。 其中一个工具是BrowserSync 。 如果BrowserSync通过guest虚拟机正在执行,它可以重新加载主机浏览器吗? https://github.com/shakyShane/browser-sync/issues/318

Docker – Node.js + MongoDB – “错误:无法连接到”

我正在尝试为我的Node应用程序创build一个容器。 这个应用程序使用MongoDB来确保一些数据持久性。 所以我创build了这个Dockerfile : FROM ubuntu:latest # — Installing MongoDB # Add 10gen official apt source to the sources list RUN apt-key adv –keyserver hkp://keyserver.ubuntu.com:80 –recv 7F0CEB10 RUN echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | tee /etc/apt/sources.list.d/10gen.list # Hack for initctl not being available in Ubuntu RUN dpkg-divert –local –rename –add /sbin/initctl RUN ln -s /bin/true […]

使用虚拟机执行不可信代码时NodeJS内存泄漏

我正在使用NodeJS VM模块安全地运行不受信任的代码。 我注意到一个巨大的内存泄漏,每次执行需要大约10M的内存,并没有释放它。 最终,我的节点进程最终使用了500M以上的内存。 经过一番挖掘,我将问题追溯到不断创build的虚拟机。 为了testing我的理论,我注释了创build虚拟机的代码。 果然,内存使用量急剧下降。 然后,我再次取消注释代码,并将global.gc()调用放在问题区域周围,并使用 – expose-gc标志运行节点。 这大大减less了我的内存使用,并保留了function。 在完成使用之后,有没有更好的清理虚拟机的方法? 我的下一个方法是caching包含给定的不安全代码的虚拟机,如果我再次看到不安全的代码,则重用它(背景:我让用户为文本块编写自己的parsing函数,因此不安全的代码会频繁执行或执行一次,从来没有见过)。 一些参考代码。 async.each(items,function(i,cb){ // Initialize context… var context = vm.createContext(init); // Execute untrusted code var captured = vm.runInContext(parse, context); // This dramatically improves the usage, but isn't // part of the standard API // global.gc(); // Return Result via a callback cb(null,captured); });