Articles of 数字海洋

节点应用程序随着时间的推移逐步进食

我刚刚在DigitalOcean上推出了两个Express服务器以及一个mongodb实例。 我正在使用PM2来保持它们的运行。 当我使用htop查看内存使用情况时,总使用量通常在220-235mb左右(总共488mb)。 我能看到的唯一变化就是蓝色条,我假设它是缓冲区内存,使用中的实际绿色内存似乎总是相同的。 然而我看DO的图表,在过去的24小时内,内存graphics一直在缓慢攀升,比如说每小时总量的0.5%,有时会下降,但是总体上是在上升,目前一直在60左右,几个小时内总内存的65%。 这些节点networking服务器上几乎没有stream量,但是内存不断增加。 所以我的问题是,这可能是我的服务器之一的内存泄漏,还是增加扩展其内存的V8引擎的本质?

DigitalOcean上的NodeJs无法连接到Amazon RDS上的MySQL数据库

我们在DigitalOcean上部署了NodeJS Web服务,并连接到Amazon RDS上的MySQL数据库。 我可以使用Navicat Premium来远程连接到MySQL RDS,也可以使用NodeJS localhost(这意味着我的本地应用程序可以连接到RDS数据库) 但是当我将我的应用程序部署到DigitalOcean服务器。 它无法连接到MySQL RDS。 连接超时。 我使用命令来查看开放端口: iptables -L 结果是: Chain INPUT (policy ACCEPT) target prot opt source destination ACCEPT tcp — anywhere anywhere tcp dpt:3000 ACCEPT tcp — anywhere anywhere tcp dpt:mysql ACCEPT tcp — anywhere anywhere tcp dpt:3000 ACCEPT tcp — anywhere anywhere tcp dpt:mysql ACCEPT tcp — […]

部署Meteor应用程序时发生错误(AssertionError:“undefined”===“function”)

我有一个运行Ubuntu 14.04的数字海洋服务器和我从中部署的Mac。 mupx deploy 一直工作得很好。 现在我已经添加了2个包,并更新到meteor1.4。 我得到这个错误: [139.59.242.839] – Uploading bundle [139.59.242.839] – Uploading bundle: SUCCESS [139.59.242.839] – Sending environment variables [139.59.242.839] – Sending environment variables: SUCCESS [139.59.242.839] – Initializing start script [139.59.242.839] – Initializing start script: SUCCESS [139.59.242.839] – Invoking deployment process [139.59.242.839] – Invoking deployment process: SUCCESS [139.59.242.839] – Verifying deployment [139.59.242.839] x […]

在Digital Ocean上部署新的node.js keystoneJS应用程序

我接近部署我的第一个节点应用程序(KeystoneJS)+ mongoDb,我正在考虑使用数字海洋。 这将是我已经部署和第一次使用数字海洋的第一个节点应用程序。 我试图find来自部署基于keystone的应用程序的其他人的教程或指南,但未能发现一个。 我将不胜感激,有人可以分享他们用来部署节点app + keystone + mongo的步骤。 谢谢。

将Unity游戏连接到数字海洋Node.js服务器

开始按照我的统一游戏的networking教程(以前没做过)。 这是迄今为止创build的一些非常简单的脚本,可以连接到。 这是我有: var io = require("socket.io")(process.env.port || 3000); console.log("Server Started"); io.on("connection", function (socket) { console.log("Client Connected"); }); 在Unity中,我有一个带有Socket IO Component(来自商店资产)的gameobject。 从CMD,我运行本地版本的server.js(上面的代码),并看到“服务器启动”出现。 在Unity中,GameObject的URL设置为:ws://127.0.0.1:3000 / socket.io /?EIO = 4&transport = websocket,当我玩Unity的时候,它连接起来。 这是显示在“客户端连接”出现在CMD窗口中。 本教程没有涉及到如何部署这样的东西,所以我只是确保在继续之前它肯定会工作。 我用Node.js打开了一个数字海洋液滴。 我导航到srv / www,并安装express以及socket.io,就像我在本地做的那样。 我上传(通过FTP)server.js的位置,并运行它。 我看到“服务器启动”出现。 当我统一更改URL中的IP地址时,维护端口及其后的所有内容,然后按播放,它不会出现连接。 我从来没有看到任何“客户端连接”消息。 这感觉就像是最后的障碍,但我无法解决它。 我把东西放在错误的目录中吗? 我在做什么错,为什么不能连接?

在单个服务器上运行多个节点实例

我买了一个DigitalOcean液滴,我想用来托pipe几个网站。 所有这些网站在Node.js中都有服务器。 我的液滴的结构是每个网站的目录和每个目录中的文件server.js 。 当我想在网上放一个网站时,我在正确的目录下运行node server.js 。 这将创build在端口80上运行的服务器的一个实例。 与此同时,我有几个域名,我在GoDaddy购买:site1.com,site2.com等 我的问题是:我应该怎么做,同时运行所有的节点实例,而域redirect到正确的服务器? 一个解决scheme,我不必创build一个文件,处理所有传入的请求到服务器将是首选(除非这是非常通用的,我不必每次添加一个新的网站时,我不得不修改)。 我想为每个网站使用不同的端口,但我不认为有可能将一个域site1.com:80redirect到ip_address:another_port。

Https和SSL问题与端口80

最近我刚开始使用https://为我的服务器,奇怪的是我可以打开,如果我明确键入“ https://www.example.com:80 ”,但将无法连接,如果我input“ https://www.example.com “。 我在Digital Ocean上使用Express 4框架来使用NodeJS。 我能做些什么来让人们正常访问我的网站? 他们第一次访问时点击“接受”也是正常的吗? 为什么其他https网站我不必这样做? 我正在使用RapidSSL。

在Digitalocean上从Heroku切换到Docker

我有一个生产网站,每月有150到200.000个独立访问者,而且这个网站正在快速增长。 我有一个DigitalOcean水滴(4GB内存和60GB固态硬盘)的MongoDB数据库(20GB的数据)主机, NodeJs服务器在Heroku上的2 x Web Standard-1X上运行。 对于客户端部分我使用AngularJs。 我的package.json包含大约100个模块。 而bower.json包含约65个模块。 几乎所有的媒体都是Amazon S3上的主机。 现在你知道我的堆栈,我有多个问题: 该网站提供了很多从mongodb数据库生成的页面,但数据很less发生变化。 谁可以caching这个HTML页面? 我想将我的应用程序部署到DigitalOcean,并保持部署git的简单性。 我已经尝试过Dokku,但看起来不太稳定,我想自己安装堆栈以更好地理解我在做什么。 所以我曾尝试像Distelli部署工具,但我从来没有设法实际上看到我的液滴IP服务器。 我猜它必须是nginx相关的… 我已经尝试像Wercker一样的持续集成来构builddocker映像,将它们推送到Tutum并进行部署。 但build设时间和部署时间都很长,如8〜10分钟… 这是我的Dockerfile,需要花费大量的时间来构build,我怎么能加快速度呢? FROM node:latest RUN mkdir /src WORKDIR /src ADD . /src RUN npm install RUN npm install -g gulp RUN gulp default ENV NODE_ENV production ENV PORT 3000 EXPOSE 3000 CMD node server.js 那就是我现在的地方。 你对这种堆栈有什么build议? […]

数字海洋上的访问节点应用程序 – 无法访问此网站

我无法访问我的数字海洋节点js应用程序。 我已经SSH'ed,从Git克隆我的节点应用程序,npm安装,并成功地启动应用程序的液滴,但我得到错误 此网站无法联系到 数字海洋文档说,你可以访问你的公共网站,只需转到<your website's ip>:<port> : 我做了这个67.205.185.63:9000/ (我的应用程序运行在9000端口,你可以看到): root @ nodejs-512mb-nyc1-01:〜/ demos#npm start live-demos@1.0.0 start / root / demos 节点app.js 演示正在监听9000端口 我还应该如何访问我的节点应用程序? var express = require('express'); var bodyParser = require('body-parser'); var app = express(); var port = process.env.PORT || 9000; … app.listen(port, function () { console.log('Demos is listening on port ' + port); });

在DigitalOcean Ubuntu 14.04中,Webshot在meteor上失败

我正在使用这个代码来生成pdf: let fileUri = process.env.PWD + '/storage/orders-pdf/' + fileName; // Commence Webshot webshot(html_string, fileUri, options, function(error) { fs.readFile(fileUri, function (err, data) { if (err) { return console.log(err); } fs.unlinkSync(fileUri); fut.return(data); }); }); let pdfData = fut.wait(); 但它会引发以下错误: { [Error: ENOENT, open '/opt/holi/storage/orders-pdf/Attributes.pdf'] errno: 34, code: 'ENOENT', path: '/opt/holi/storage/orders-pdf/Attributes.pdf' } 试图使用NPM包https://github.com/brenden/node-webshot然后代码在本地主机完美工作,但在服务器上失败,并引发此错误: 编辑: 即使没有运行webshot: fs.readFile(fileUri, function (err, […]